[PATCH] selftests/mm: remove unreachable returns after ksft exit helpers

From: Zenghui Yu

Date: Thu Sep 03 2026 - 10:50:27 EST


From: "Zenghui Yu (Huawei)" <zenghui.yu@xxxxxxxxx>

The ksft_exit*() helpers such as ksft_exit_fail_msg() are declared
__noreturn, and the ksft_exit() and ksft_finished() macros expand to calls
of them, always terminating the process via exit(). Any return statements
following such calls are unreachable, both at the end of main() and on
error paths of helper functions.

Remove all of them. No functional change.

Assisted-by: GLM-5.3 OpenCode
Signed-off-by: Zenghui Yu (Huawei) <zenghui.yu@xxxxxxxxx>
---
tools/testing/selftests/mm/folio_split_race_test.c | 2 --
tools/testing/selftests/mm/mlock-random-test.c | 1 -
tools/testing/selftests/mm/pkey_sighandler_tests.c | 1 -
tools/testing/selftests/mm/split_huge_page_test.c | 4 ----
4 files changed, 8 deletions(-)

diff --git a/tools/testing/selftests/mm/folio_split_race_test.c b/tools/testing/selftests/mm/folio_split_race_test.c
index 45b84f7b364e..1960635a953e 100644
--- a/tools/testing/selftests/mm/folio_split_race_test.c
+++ b/tools/testing/selftests/mm/folio_split_race_test.c
@@ -269,6 +269,4 @@ int main(void)
NUM_ITERATIONS);

ksft_exit(iter == NUM_ITERATIONS);
-
- return 0;
}
diff --git a/tools/testing/selftests/mm/mlock-random-test.c b/tools/testing/selftests/mm/mlock-random-test.c
index 16294bc7dae6..58772914fd79 100644
--- a/tools/testing/selftests/mm/mlock-random-test.c
+++ b/tools/testing/selftests/mm/mlock-random-test.c
@@ -71,7 +71,6 @@ int get_proc_locked_vm_size(void)

fclose(f);
ksft_exit_fail_msg("cannot parse VmLck in /proc/self/status: %s\n", strerror(errno));
- return -1;
}

/*
diff --git a/tools/testing/selftests/mm/pkey_sighandler_tests.c b/tools/testing/selftests/mm/pkey_sighandler_tests.c
index 74bf79a5399d..f9c728ba96a5 100644
--- a/tools/testing/selftests/mm/pkey_sighandler_tests.c
+++ b/tools/testing/selftests/mm/pkey_sighandler_tests.c
@@ -556,5 +556,4 @@ int main(int argc, char *argv[])
}

ksft_finished();
- return 0;
}
diff --git a/tools/testing/selftests/mm/split_huge_page_test.c b/tools/testing/selftests/mm/split_huge_page_test.c
index 86a603692826..c01d227d7fd6 100644
--- a/tools/testing/selftests/mm/split_huge_page_test.c
+++ b/tools/testing/selftests/mm/split_huge_page_test.c
@@ -101,7 +101,6 @@ static bool is_backed_by_folio(char *vaddr, int order, int pagemap_fd,
return (pfn_flags & folio_tail_flags) != folio_tail_flags;
fail:
ksft_exit_fail_msg("Failed to get folio info\n");
- return false;
}

static int check_after_split_folio_orders(char *vaddr_start, size_t len,
@@ -548,7 +547,6 @@ static int create_pagecache_thp_and_fd(const char *testfile, size_t fd_size,
err_out_unlink:
unlink(testfile);
ksft_exit_fail_msg("Failed to create large pagecache folios\n");
- return -1;
}

static void split_thp_in_pagecache_to_order_at(size_t fd_size,
@@ -711,6 +709,4 @@ int main(int argc, char **argv)
free(expected_orders);

ksft_finished();
-
- return 0;
}
--
2.53.0