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

From: Lorenzo Stoakes (ARM)

Date: Thu Sep 03 2026 - 10:16:02 EST


On Thu, Sep 03, 2026 at 09:52:51PM +0800, Zenghui Yu wrote:
> 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

Thanks for providing the tag, much appreciated :)

> Signed-off-by: Zenghui Yu (Huawei) <zenghui.yu@xxxxxxxxx>

LGTM, so:

Reviewed-by: Lorenzo Stoakes (ARM) <ljs@xxxxxxxxxx>

> ---
> 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
>

--
Cheers, Lorenzo