The patch titled Subject: mm/pagemap: fix wr-protect even if PM_SCAN_WP_MATCHING not set has been added to the -mm mm-hotfixes-unstable branch. Its filename is mm-pagemap-fix-wr-protect-even-if-pm_scan_wp_matching-not-set.patch This patch will shortly appear at https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/mm-pagemap-fix-wr-protect-even-if-pm_scan_wp_matching-not-set.patch This patch will later appear in the mm-hotfixes-unstable branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next via the mm-everything branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm and is updated there every 2-3 working days ------------------------------------------------------ From: Peter Xu <peterx@xxxxxxxxxx> Subject: mm/pagemap: fix wr-protect even if PM_SCAN_WP_MATCHING not set Date: Thu, 16 Nov 2023 15:15:46 -0500 The new pagemap ioctl contains a fast path for wr-protections without looking into category masks. It forgets to check PM_SCAN_WP_MATCHING before applying the wr-protections. It can cause, e.g., pte markers installed on archs that do not even support uffd wr-protect. WARNING: CPU: 0 PID: 5059 at mm/memory.c:1520 zap_pte_range mm/memory.c:1520 [inline] Link: https://lkml.kernel.org/r/20231116201547.536857-3-peterx@xxxxxxxxxx Fixes: 12f6b01a0bcb ("fs/proc/task_mmu: add fast paths to get/clear PAGE_IS_WRITTEN flag") Signed-off-by: Peter Xu <peterx@xxxxxxxxxx> Reported-by: syzbot+7ca4b2719dc742b8d0a4@xxxxxxxxxxxxxxxxxxxxxxxxx Cc: Andrei Vagin <avagin@xxxxxxxxx> Cc: David Hildenbrand <david@xxxxxxxxxx> Cc: Muhammad Usama Anjum <usama.anjum@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- fs/proc/task_mmu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/fs/proc/task_mmu.c~mm-pagemap-fix-wr-protect-even-if-pm_scan_wp_matching-not-set +++ a/fs/proc/task_mmu.c @@ -2156,7 +2156,7 @@ static int pagemap_scan_pmd_entry(pmd_t return 0; } - if (!p->vec_out) { + if ((p->arg.flags & PM_SCAN_WP_MATCHING) && !p->vec_out) { /* Fast path for performing exclusive WP */ for (addr = start; addr != end; pte++, addr += PAGE_SIZE) { if (pte_uffd_wp(ptep_get(pte))) _ Patches currently in -mm which might be from peterx@xxxxxxxxxx are mm-pagemap-fix-ioctlpagemap_scan-on-vma-check.patch mm-pagemap-fix-wr-protect-even-if-pm_scan_wp_matching-not-set.patch mm-selftests-fix-pagemap_ioctl-memory-map-test.patch