On Wed, 21 Jun 2023 at 09:24, Muhammad Usama Anjum <usama.anjum@xxxxxxxxxxxxx> wrote: [...] > +static int pagemap_scan_test_walk(unsigned long start, unsigned long end, > + struct mm_walk *walk) > +{ > + struct pagemap_scan_private *p = walk->private; > + struct vm_area_struct *vma = walk->vma; > + > + if ((p->flags & PM_SCAN_REQUIRE_UFFD) && (!userfaultfd_wp_async(vma) || > + !userfaultfd_wp_use_markers(vma))) > + return -EPERM; > + > + if (vma->vm_flags & VM_PFNMAP) > + return 1; > + > + return 0; > +} This could actually short-circuit all vma flags (e.g. IS_FILE): if (required_mask & IS_FILE && vma is not file-backed) return 0; Best Regards Michał Mirosław