Re: [PATCH v2 09/13] selftests/mm: skip uffd-wp-mremap if UFFD write-protect is unsupported

David Hildenbrand (Arm)
2026-03-12T12:50:27Z

On 3/12/26 13:25, Sayali Patil wrote:
> The uffd-wp-mremap test requires the UFFD_FEATURE_PAGEFAULT_FLAG_WP
> capability. On systems where userfaultfd write-protect is
> not supported, uffd_register() fails and the test reports failures.
>
> Check for the required feature at startup and skip the test when the
> UFFD_FEATURE_PAGEFAULT_FLAG_WP capability is not present,
> preventing false failures on unsupported configurations.
>
> Before patch:
> running ./uffd-wp-mremap
> ------------------------
> [INFO] detected THP size: 256 KiB
> [INFO] detected THP size: 512 KiB
> [INFO] detected THP size: 1024 KiB
> [INFO] detected THP size: 2048 KiB
> [INFO] detected hugetlb page size: 2048 KiB
> [INFO] detected hugetlb page size: 1048576 KiB
> 1..24
> [RUN] test_one_folio(size=65536, private=false, swapout=false,
> hugetlb=false)
> not ok 1 uffd_register() failed
> [RUN] test_one_folio(size=65536, private=true, swapout=false,
> hugetlb=false)
> not ok 2 uffd_register() failed
> [RUN] test_one_folio(size=65536, private=false, swapout=true,
> hugetlb=false)
> not ok 3 uffd_register() failed
> [RUN] test_one_folio(size=65536, private=true, swapout=true,
> hugetlb=false)
> not ok 4 uffd_register() failed
> [RUN] test_one_folio(size=262144, private=false, swapout=false,
> hugetlb=false)
> not ok 5 uffd_register() failed
> [RUN] test_one_folio(size=524288, private=false, swapout=false,
> hugetlb=false)
> not ok 6 uffd_register() failed
> .
> .
> .
> Bail out! 24 out of 24 tests failed
> Totals: pass:0 fail:24 xfail:0 xpass:0 skip:0 error:0
> [FAIL]
> not ok 1 uffd-wp-mremap # exit=1
>
> After patch:
> running ./uffd-wp-mremap
> ------------------------
> 1..0 # SKIP uffd-wp feature not supported
> [SKIP]
> ok 1 uffd-wp-mremap # SKIP
>
> Acked-by: Zi Yan <ziy@nvidia.com>
> Signed-off-by: Sayali Patil <sayalip@linux.ibm.com>
> ---
> tools/testing/selftests/mm/uffd-wp-mremap.c | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/tools/testing/selftests/mm/uffd-wp-mremap.c b/tools/testing/selftests/mm/uffd-wp-mremap.c
> index 17186d4a4147..73d53a4da389 100644
> --- a/tools/testing/selftests/mm/uffd-wp-mremap.c
> +++ b/tools/testing/selftests/mm/uffd-wp-mremap.c
> @@ -19,6 +19,17 @@ static size_t thpsizes[20];
> static int nr_hugetlbsizes;
> static size_t hugetlbsizes[10];
>
> +static void uffd_wp_feature_supported(void)

Likely that function should be called

"check_uffd_wp_feature_supported()"

Because right now it reads as if it would be returning a bool.

Acked-by: David Hildenbrand (Arm) <david@kernel.org>

--
Cheers,

David