[LTP] [PATCH] userfaultfd05: allow TCONF when UFFD-WP is unsupported
Petr Vorel
pvorel@suse.cz
Thu Jan 22 13:17:56 CET 2026
Hi Li,
> On system without enable CONFIG_HAVE_ARCH_USERFAULTFD_WP kernel option,
> test will fail like below:
> userfaultfd05.c:95: TBROK: ioctl(3,((((2U|1U) << (((0+8)+8)+14)) |
> (((0xAA)) << (0+8)) | ((((0x3F))) << 0) |
> ((((sizeof(struct uffdio_api)))) << ((0+8)+8)))),...)
> failed: EINVAL (22)
> The original test uses SAFE_IOCTL macro, which prematurely triggers
> TBROK and prevents the test from verifying UFFD_FEATURE_PAGEFAULT_FLAG_WP.
Good catch. I don't have any kernel without UFFD_FEATURE_PAGEFAULT_FLAG_WP,
therefore I didn't notice.
Fixes: efd8e51008 ("userfaultfd: Add test using UFFDIO_WRITEPROTECT")
> Signed-off-by: Li Wang <liwang@redhat.com>
> Cc: Christian Amann <camann@suse.com>
> Cc: Ricardo Branco <rbranco@suse.com>
> ---
> testcases/kernel/syscalls/userfaultfd/userfaultfd05.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
> diff --git a/testcases/kernel/syscalls/userfaultfd/userfaultfd05.c b/testcases/kernel/syscalls/userfaultfd/userfaultfd05.c
> index c4edc2529..9cb0bb08f 100644
> --- a/testcases/kernel/syscalls/userfaultfd/userfaultfd05.c
> +++ b/testcases/kernel/syscalls/userfaultfd/userfaultfd05.c
> @@ -92,11 +92,11 @@ static void run(void)
> uffdio_api.api = UFFD_API;
> uffdio_api.features = UFFD_FEATURE_PAGEFAULT_FLAG_WP;
> - SAFE_IOCTL(uffd, UFFDIO_API, &uffdio_api);
> + if (ioctl(uffd, UFFDIO_API, &uffdio_api) < 0) {
> + if (!(uffdio_api.features & UFFD_FEATURE_PAGEFAULT_FLAG_WP))
> + tst_brk(TCONF, "UFFD write-protect unsupported");
> - if (!(uffdio_api.features & UFFD_FEATURE_PAGEFAULT_FLAG_WP)) {
> - tst_brk(TCONF, "UFFD write-protect unsupported");
> - return;
> + tst_brk(TBROK | TERRNO, "ioctl_userfaultfd failed");
very nit: I would write "ioctl() on userfaultfd failed"? I was thinking what
ioctl_userfaultfd is, but ok, there is man ioctl_userfaultfd(2).
Kind regards,
Petr
> }
> uffdio_register.range.start = (unsigned long) page;
More information about the ltp
mailing list