Re: [PATCH v2 3/3] Turn off test_uffdio_wp if CONFIG_PTE_MARKER_UFFD_WP is not configured.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
> 





[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux