On 7/12/23 12:42 AM, Andrei Vagin wrote:
On Tue, Jul 11, 2023 at 5:53 AM Muhammad Usama Anjum usama.anjum@collabora.com wrote:
<snip>
+static int pagemap_scan_pte_hole(unsigned long addr, unsigned long end,
int depth, struct mm_walk *walk)
+{
unsigned long n_pages = (end - addr)/PAGE_SIZE;
struct pagemap_scan_private *p = walk->private;
struct vm_area_struct *vma = walk->vma;
int ret = 0;
if (!vma)
return 0;
if (IS_PM_SCAN_GET(p->flags)) {
if (n_pages > p->max_pages - p->found_pages)
n_pages = p->max_pages - p->found_pages;
ret = pagemap_scan_output(PM_SCAN_FLAGS(false, false, false,
false, false), p, addr, n_pages);
Why do we report holes unconditionally?
It seems I've missed the filtering part for holes. It got missed and no test/reviewer caught it earlier. I'll add it pretty quickly.
Are you satisfied with the remaining patch and can you sent reviewed/acked by tag?
}
if (IS_PM_SCAN_WP(p->flags) &&
uffd_wp_range(vma, addr, end - addr, true) < 0)
ret = -EINVAL;
return ret;
+}
Thanks, Andrei