[PATCH v2 05/12] selftests/mm: mremap_test: skip test when userfaultfd is unavailable
From: Sarthak Sharma
Date: Tue Oct 06 2026 - 05:30:28 EST
The userfaultfd syscall can return ENOSYS even when __NR_userfaultfd is
defined by the architecture headers, for example when the kernel is
built without CONFIG_USERFAULTFD. The test currently skips for EPERM
when the caller lacks permission to use userfaultfd but treats
ENOSYS as a failure.
Handle ENOSYS like EPERM and skip the mremap_move_multi_invalid_vmas()
test when userfaultfd syscall is not implemented.
Fixes: 742d3663a577 ("selftests/mm: add test for invalid multi VMA operations")
Acked-by: David Hildenbrand (Arm) <david@xxxxxxxxxx>
Signed-off-by: Sarthak Sharma <sarthak.sharma@xxxxxxx>
---
tools/testing/selftests/mm/mremap_test.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/testing/selftests/mm/mremap_test.c b/tools/testing/selftests/mm/mremap_test.c
index e17edbc23325..0be47348ecd0 100644
--- a/tools/testing/selftests/mm/mremap_test.c
+++ b/tools/testing/selftests/mm/mremap_test.c
@@ -711,7 +711,7 @@ static void mremap_move_multi_invalid_vmas(FILE *maps_fp,
uffd = syscall(__NR_userfaultfd, O_NONBLOCK);
if (uffd == -1) {
- if (errno == EPERM) {
+ if (errno == EPERM || errno == ENOSYS) {
ksft_test_result_skip("%s - missing uffd\n", test_name);
return;
}
--
2.53.0