On Wed, Aug 28, 2019 at 03:05:19PM +0000, Jason Gunthorpe wrote: > > @@ -1217,7 +1222,8 @@ static ssize_t clear_refs_write(struct file *file, const char __user *buf, > > 0, NULL, mm, 0, -1UL); > > mmu_notifier_invalidate_range_start(&range); > > } > > - walk_page_range(0, mm->highest_vm_end, &clear_refs_walk); > > + walk_page_range(mm, 0, mm->highest_vm_end, &clear_refs_walk_ops, > > + &cp); > > Is the difference between TASK_SIZE and 'highest_vm_end' deliberate, > or should we add a 'walk_all_pages'() mini helper for this? I see most > of the users are using one or the other variant. I have no idea to be honest. A walk_all_pages-like helper doesn't seem like a bad idea, but the priority seems lower than cleaning up all the callers using walk_page_range on a vma..