On Mon, Oct 12, 2026 at 08:52:07PM +0200, David Hildenbrand (Arm) wrote:
> On 10/9/26 20:04, Lorenzo Stoakes (ARM) wrote:
> > diff --git a/mm/migrate_device.c b/mm/migrate_device.c
> > index b9c453c28795..289d7b08ace4 100644
> > --- a/mm/migrate_device.c
> > +++ b/mm/migrate_device.c
> > int migrate_vma_setup(struct migrate_vma *args)
> > {
> > + const struct vm_area_struct *vma = args->vma;
> > long nr_pages = (args->end - args->start) >> PAGE_SHIFT;
> >
> > args->start &= PAGE_MASK;
> > args->end &= PAGE_MASK;
> > - if (!args->vma || vma_test_any_mask(args->vma, VMA_SPECIAL_FLAGS) ||
> > - vma_is_dax(args->vma))
> > + if (!vma)
> > + return -EINVAL;
> > + if (!vma_is_mm_managed(vma) || vma_is_fixed_mapping(vma) ||
> > + vma_is_dax(vma))
>
> Same here, with the droppable thing changed this would be
>
> !vma_is_mm_backed() || vma_is_dax(vma)
>
> I guess.
I think we need a hugetlb carveout too (ugh), will update in v6!
>
> Acked-by: David Hildenbrand (Arm) <[email protected]>
Thanks!
--
Cheers, Lorenzo