[PATCH v1 0/2] mm: uffd-wp + change_protection() cleanups

From: David Hildenbrand
Date: Fri Dec 23 2022 - 10:57:12 EST


Based on linus/master and [1]:
"mm/userfaultfd: enable writenotify while userfaultfd-wp is enabled for a
VMA"

Cleanup page protection handling in uffd-wp when calling
change_protection() and improve unprotecting uffd=wp in private mappings,
trying to set PTEs writable again if possible just like we do during
mprotect() when upgrading write permissions. Make the change_protection()
interface harder to get wrong :)

I consider both pages primarily cleanups, although patch #1 fixes a
corner case with uffd-wp and softdirty tracking for shmem. @Peter, please
let me know if we should flag patch #1 as pure cleanup -- I have no idea
how important softdirty tracking on shmem is.

Survives my simple test case + selftests/vm.

Last patch series before Christmas; happy holidays everyone!

Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Peter Xu <peterx@xxxxxxxxxx>
Cc: Hugh Dickins <hughd@xxxxxxxxxx>
Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
Cc: Nadav Amit <nadav.amit@xxxxxxxxx>

[1] https://lore.kernel.org/all/20221209080912.7968-1-david@xxxxxxxxxx/T/#u

David Hildenbrand (2):
mm/userfaultfd: rely on vma->vm_page_prot in uffd_wp_range()
mm/mprotect: drop pgprot_t parameter from change_protection()

include/linux/mm.h | 3 +--
mm/mempolicy.c | 3 +--
mm/mprotect.c | 14 +++++++++++---
mm/userfaultfd.c | 17 ++++++++++++-----
4 files changed, 25 insertions(+), 12 deletions(-)

--
2.38.1