On Fri, Aug 16, 2019 at 05:11:07PM +0000, Jason Gunthorpe wrote: > - if (args->cpages) > - migrate_vma_prepare(args); > - if (args->cpages) > - migrate_vma_unmap(args); > + if (!args->cpages) > + return 0; > + > + migrate_vma_prepare(args); > + migrate_vma_unmap(args); I don't think this is ok. Both migrate_vma_prepare and migrate_vma_unmap can reduce args->cpages, including possibly to 0.