On Tue, Jun 25, 2024 at 07:55:14PM -0400, Peter Xu wrote: > On Tue, Jun 25, 2024 at 04:05:58PM -0700, Andrew Morton wrote: > > On Mon, 24 Jun 2024 10:42:00 -0400 Peter Xu <peterx@xxxxxxxxxx> wrote: > > > > > > uffdio_api.features &= ~UFFD_FEATURE_WP_HUGETLBFS_SHMEM; > > > > uffdio_api.features &= ~UFFD_FEATURE_WP_UNPOPULATED; > > > > uffdio_api.features &= ~UFFD_FEATURE_WP_ASYNC; > > > > #endif > > > > > > > > If you run the userfaultfd selftests with the run_vmtests script we get > > > > several failures stemming from trying to call uffdio_regsiter with the flag > > > > UFFDIO_REGISTER_MODE_WP. However, the kernel ensures in vma_can_userfault() > > > > that if CONFIG_PTE_MARKER_UFFD_WP is disabled, only allow the VM_UFFD_WP - > > > > which is set when you pass the UFFDIO_REGISTER_MODE_WP flag - on > > > > anonymous vmas. > > > > > > > > In parse_test_type_arg() I added the features check against > > > > UFFD_FEATURE_WP_UNPOPULATED as it seemed the most well know feature/flag. I'm > > > > more than happy to take any suggestions and adapt them if you have any! > > > > > > There're documents for these features in the headers: > > > > > > * UFFD_FEATURE_WP_HUGETLBFS_SHMEM indicates that userfaultfd > > > * write-protection mode is supported on both shmem and hugetlbfs. > > > * > > > * UFFD_FEATURE_WP_UNPOPULATED indicates that userfaultfd > > > * write-protection mode will always apply to unpopulated pages > > > * (i.e. empty ptes). This will be the default behavior for shmem > > > * & hugetlbfs, so this flag only affects anonymous memory behavior > > > * when userfault write-protection mode is registered. > > > > > > While in this context ("test_type != TEST_ANON") IIUC the accurate feature > > > to check is UFFD_FEATURE_WP_HUGETLBFS_SHMEM. > > > > > > In most kernels they should behave the same indeed, but note that since > > > UNPOPULATED was introduced later than shmem/hugetlb support, it means on > > > some kernel the result of checking these two features will be different. > > > > I'm unsure what to do with this series. Peter, your review comments > > are unclear - do you request updates? > > Yes, or some clarification from Audra would also work. > > What I was trying to say is here I think the code should check against > UFFD_FEATURE_WP_HUGETLBFS_SHMEM instead. I was meaning to reply back and ask if Andrew wanted me to push a v3 and change the check from UFFD_FEATURE_WP_UNPOPULATED to UFFD_FEATURE_WP_HUGETLBFS_SHMEM or if he just wanted to do it, but I'll go ahead and submit v3 with the change shortly. Also as an aside I ran scripts/get_maintainer.pl to get the email list. I probably should have thought a little bit about why the linux-mm list was missing.... Sorry about the delay and confusion! > Thanks, > > -- > Peter Xu >