On Wed, 21 Jun 2023 at 09:24, Muhammad Usama Anjum usama.anjum@collabora.com 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