From: Audra Mitchell <audra@redhat.com>
To: Peter Xu <peterx@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
viro@zeniv.linux.org.uk, brauner@kernel.org, jack@suse.cz,
aarcange@redhat.com, rppt@linux.vnet.ibm.com, shli@fb.com,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
shuah@kernel.org, linux-kselftest@vger.kernel.org,
raquini@redhat.com
Subject: Re: [PATCH v2 3/3] Turn off test_uffdio_wp if CONFIG_PTE_MARKER_UFFD_WP is not configured.
Date: Wed, 26 Jun 2024 08:49:58 -0400 [thread overview]
Message-ID: <ZnwOdqRcsiNeWNKT@fedora> (raw)
In-Reply-To: <ZntY4jIojSrjoW1M@x1n>
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@redhat.com> 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
>
next prev parent reply other threads:[~2024-06-26 12:50 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-21 18:12 [PATCH v2 1/3] Fix userfaultfd_api to return EINVAL as expected Audra Mitchell
2024-06-21 18:12 ` [PATCH v2 2/3] Update uffd-stress to handle EINVAL for unset config features Audra Mitchell
2024-06-21 21:26 ` Peter Xu
2024-06-21 18:12 ` [PATCH v2 3/3] Turn off test_uffdio_wp if CONFIG_PTE_MARKER_UFFD_WP is not configured Audra Mitchell
2024-06-21 21:27 ` Peter Xu
2024-06-24 13:53 ` Audra Mitchell
2024-06-24 14:42 ` Peter Xu
2024-06-25 23:05 ` Andrew Morton
2024-06-25 23:55 ` Peter Xu
2024-06-26 12:49 ` Audra Mitchell [this message]
2024-06-21 21:25 ` [PATCH v2 1/3] Fix userfaultfd_api to return EINVAL as expected Peter Xu
2024-06-22 1:03 ` Andrew Morton
2024-06-23 15:26 ` Peter Xu
2024-06-24 22:57 ` Andrew Morton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZnwOdqRcsiNeWNKT@fedora \
--to=audra@redhat.com \
--cc=aarcange@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=brauner@kernel.org \
--cc=jack@suse.cz \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=peterx@redhat.com \
--cc=raquini@redhat.com \
--cc=rppt@linux.vnet.ibm.com \
--cc=shli@fb.com \
--cc=shuah@kernel.org \
--cc=viro@zeniv.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).