On 22/08/2025 10:20, Muhammad Usama Anjum wrote: > Enable -Wunreachable-code flag to catch dead code and fix them. > > 1. Remove the dead code and write a comment instead: > hmm-tests.c:2033:3: warning: code will never be executed > [-Wunreachable-code] > perror("Should not reach this\n"); > ^~~~~~ > > 2. ksft_exit_fail_msg() calls exit(). Remove the dead code.
In that new version there's no dead code removal, rather that call is replaced to a call to ksft_print_msg() that doesn't exit. With that corrected: Reviewed-by: Kevin Brodsky <kevin.brod...@arm.com> - Kevin > split_huge_page_test.c:301:3: warning: code will never be executed > [-Wunreachable-code] > goto cleanup; > ^~~~~~~~~~~~ > > 3. Remove duplicate inline. > pkey_sighandler_tests.c:44:15: warning: duplicate 'inline' declaration > specifier [-Wduplicate-decl-specifier] > static inline __always_inline > > Reviewed-by: Sidhartha Kumar <sidhartha.ku...@oracle.com> > Signed-off-by: Muhammad Usama Anjum <usama.an...@collabora.com> > --- > Changes since v2: > - In split_huge_page_test.c, print error message and then go to cleanup > tag for cleanup instead of just exiting without cleanup > --- > tools/testing/selftests/mm/Makefile | 1 + > tools/testing/selftests/mm/hmm-tests.c | 5 ++--- > tools/testing/selftests/mm/pkey_sighandler_tests.c | 2 +- > tools/testing/selftests/mm/split_huge_page_test.c | 2 +- > 4 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/tools/testing/selftests/mm/Makefile > b/tools/testing/selftests/mm/Makefile > index d13b3cef2a2b2..23d4bf6215465 100644 > --- a/tools/testing/selftests/mm/Makefile > +++ b/tools/testing/selftests/mm/Makefile > @@ -34,6 +34,7 @@ endif > MAKEFLAGS += --no-builtin-rules > > CFLAGS = -Wall -O2 -I $(top_srcdir) $(EXTRA_CFLAGS) $(KHDR_INCLUDES) > $(TOOLS_INCLUDES) > +CFLAGS += -Wunreachable-code > LDLIBS = -lrt -lpthread -lm > > # Some distributions (such as Ubuntu) configure GCC so that _FORTIFY_SOURCE > is > diff --git a/tools/testing/selftests/mm/hmm-tests.c > b/tools/testing/selftests/mm/hmm-tests.c > index 141bf63cbe05e..15aadaf24a667 100644 > --- a/tools/testing/selftests/mm/hmm-tests.c > +++ b/tools/testing/selftests/mm/hmm-tests.c > @@ -2027,11 +2027,10 @@ TEST_F(hmm, hmm_cow_in_device) > if (pid == -1) > ASSERT_EQ(pid, 0); > if (!pid) { > - /* Child process waitd for SIGTERM from the parent. */ > + /* Child process waits for SIGTERM from the parent. */ > while (1) { > } > - perror("Should not reach this\n"); > - exit(0); > + /* Should not reach this */ > } > /* Parent process writes to COW pages(s) and gets a > * new copy in system. In case of device private pages, > diff --git a/tools/testing/selftests/mm/pkey_sighandler_tests.c > b/tools/testing/selftests/mm/pkey_sighandler_tests.c > index b5e076a564c95..302fef54049c8 100644 > --- a/tools/testing/selftests/mm/pkey_sighandler_tests.c > +++ b/tools/testing/selftests/mm/pkey_sighandler_tests.c > @@ -41,7 +41,7 @@ static siginfo_t siginfo = {0}; > * syscall will attempt to access the PLT in order to call a library function > * which is protected by MPK 0 which we don't have access to. > */ > -static inline __always_inline > +static __always_inline > long syscall_raw(long n, long a1, long a2, long a3, long a4, long a5, long > a6) > { > unsigned long ret; > diff --git a/tools/testing/selftests/mm/split_huge_page_test.c > b/tools/testing/selftests/mm/split_huge_page_test.c > index bf40e6b121abc..de0d26f3df675 100644 > --- a/tools/testing/selftests/mm/split_huge_page_test.c > +++ b/tools/testing/selftests/mm/split_huge_page_test.c > @@ -297,7 +297,7 @@ void split_file_backed_thp(int order) > > status = snprintf(testfile, INPUT_MAX, "%s/thp_file", tmpfs_loc); > if (status >= INPUT_MAX) { > - ksft_exit_fail_msg("Fail to create file-backed THP split > testing file\n"); > + ksft_print_msg("Fail to create file-backed THP split testing > file\n"); > goto cleanup; > } >