[PATCH 4/4] selftests/mm: fix exit code in pagemap_ioctl

Kevin Brodsky
2025-12-16T14:26:54Z

pagemap_ioctl always reports success, whether the tests succeeded or
not. Call ksft_finished() to report the right status.

While at it also fix the exit code in unexpected situations:

- Report SKIP if userfaultfd isn't available (in line with other
tests)

- Report FAIL if we failed to open /proc/self/pagemap (returning
-EINVAL from main() is meaningless)

Cc: Usama Anjum <Usama.Anjum@arm.com>
Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
---
tools/testing/selftests/mm/pagemap_ioctl.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/testing/selftests/mm/pagemap_ioctl.c b/tools/testing/selftests/mm/pagemap_ioctl.c
index 67a7a3705604..aeedb96dfffb 100644
--- a/tools/testing/selftests/mm/pagemap_ioctl.c
+++ b/tools/testing/selftests/mm/pagemap_ioctl.c
@@ -1553,7 +1553,7 @@ int main(int __attribute__((unused)) argc, char *argv[])
ksft_print_header();

if (init_uffd())
- ksft_exit_pass();
+ ksft_exit_skip("Failed to initialize userfaultfd\n");

ksft_set_plan(117);

@@ -1562,7 +1562,7 @@ int main(int __attribute__((unused)) argc, char *argv[])

pagemap_fd = open(PAGEMAP, O_RDONLY);
if (pagemap_fd < 0)
- return -EINVAL;
+ ksft_exit_fail_msg("Failed to open " PAGEMAP "\n");

/* 1. Sanity testing */
sanity_tests_sd();
@@ -1734,5 +1734,5 @@ int main(int __attribute__((unused)) argc, char *argv[])
zeropfn_tests();

close(pagemap_fd);
- ksft_exit_pass();
+ ksft_finished();
}
--
2.51.2