]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
selftests/mm: add -Wunreachable-code and fix warnings
authorMuhammad Usama Anjum <usama.anjum@collabora.com>
Thu, 31 Jul 2025 16:01:25 +0000 (21:01 +0500)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 18 Aug 2025 05:08:24 +0000 (22:08 -0700)
Patch series "selftests/mm: Add compiler flags and fix found warnings", v2.

Recently, I reviewed a patch on the mm/kselftest mailing list about a test
which had obvious type mismatch fix in it.  It was strange why that wasn't
caught during development and when patch was accepted.  This led me to
discover that those extra compiler options to catch these warnings aren't
being used.  When I added them, I found tens of warnings in just mm suite.

In this series, I'm adding these flags and fixing those warnings.  In the
last try several months ago [1], I'd patches for individual tests.  I've
made patches better by grouping the same type of fixes together.  Hence
there is no changelog for individual patches.

This patch (of 8):

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

Link: https://lkml.kernel.org/r/20250731160132.1795351-1-usama.anjum@collabora.com
Link: https://lkml.kernel.org/r/20250731160132.1795351-2-usama.anjum@collabora.com
Signed-off-by: Muhammad Usama Anjum <usama.anjum@collabora.com>
Reviewed-by: Sidhartha Kumar <sidhartha.kumar@oracle.com>
Cc: Albert Ou <aou@eecs.berkeley.edu>
Cc: Alexandre Ghiti <alex@ghiti.fr>
Cc: Baolin Wang <baolin.wang@linux.alibaba.com>
Cc: Barry Song <baohua@kernel.org>
Cc: David Hildenbrand <david@redhat.com>
Cc: Dev Jain <dev.jain@arm.com>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: John Hubbard <jhubbard@nvidia.com>
Cc: Leon Romanovsky <leon@kernel.org>
Cc: Liam Howlett <liam.howlett@oracle.com>
Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Cc: Mariano Pache <npache@redhat.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Mike Rapoport <rppt@kernel.org>
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Cc: Paul Walmsley <paul.walmsley@sifive.com>
Cc: Peter Xu <peterx@redhat.com>
Cc: Ryan Roberts <ryan.roberts@arm.com>
Cc: Shuah Khan <shuah@kernel.org>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Zi Yan <ziy@nvidia.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
tools/testing/selftests/mm/Makefile
tools/testing/selftests/mm/hmm-tests.c
tools/testing/selftests/mm/pkey_sighandler_tests.c
tools/testing/selftests/mm/split_huge_page_test.c

index d13b3cef2a2b2736e1167ba179698159dd48b430..23d4bf62154653be04e6aff437c60a0a4fd35b3e 100644 (file)
@@ -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
index 141bf63cbe05ecf8bef3bc88ee313d44863e39df..15aadaf24a667bc774a5282bf4fa166e062042de 100644 (file)
@@ -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,
index b5e076a564c952fc198335a66776f170df10e840..302fef54049c87116583bae45e086f2731326964 100644 (file)
@@ -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;
index 44a3f8a58806709035476862ea845327ea5f61d6..674fa3708dd950e8b343adf1436e8c219e5f2f8c 100644 (file)
@@ -296,10 +296,8 @@ void split_file_backed_thp(int order)
                ksft_exit_fail_msg("Unable to create a tmpfs for testing\n");
 
        status = snprintf(testfile, INPUT_MAX, "%s/thp_file", tmpfs_loc);
-       if (status >= INPUT_MAX) {
+       if (status >= INPUT_MAX)
                ksft_exit_fail_msg("Fail to create file-backed THP split testing file\n");
-               goto cleanup;
-       }
 
        fd = open(testfile, O_CREAT|O_RDWR, 0664);
        if (fd == -1) {