[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240625160558.e1650f874ab039e4d6c2b650@linux-foundation.org>
Date: Tue, 25 Jun 2024 16:05:58 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Peter Xu <peterx@...hat.com>
Cc: Audra Mitchell <audra@...hat.com>, viro@...iv.linux.org.uk,
brauner@...nel.org, jack@...e.cz, aarcange@...hat.com,
rppt@...ux.vnet.ibm.com, shli@...com, linux-fsdevel@...r.kernel.org,
linux-kernel@...r.kernel.org, shuah@...nel.org,
linux-kselftest@...r.kernel.org, raquini@...hat.com
Subject: Re: [PATCH v2 3/3] Turn off test_uffdio_wp if
CONFIG_PTE_MARKER_UFFD_WP is not configured.
On Mon, 24 Jun 2024 10:42:00 -0400 Peter Xu <peterx@...hat.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?
Also, the patches weren't cc:linux-mm which limits the audience. I'll
drop this version. Audra, please continue to move this forward.
Powered by blists - more mailing lists