]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
tools/mm: -Werror fixes in page-types/slabinfo
authorWladislav Wiebe <wladislav.kw@gmail.com>
Tue, 22 Oct 2024 17:21:13 +0000 (19:21 +0200)
committerAndrew Morton <akpm@linux-foundation.org>
Thu, 31 Oct 2024 03:14:11 +0000 (20:14 -0700)
Commit e6d2c436ff693 ("tools/mm: allow users to provide additional
cflags/ldflags") passes now CFLAGS to Makefile.  With this, build systems
with default -Werror enabled found:

slabinfo.c:1300:25: error: ignoring return value of 'chdir'
declared with attribute 'warn_unused_result' [-Werror=unused-result]
                         chdir("..");
                         ^~~~~~~~~~~
page-types.c:397:35: error: format '%lu' expects argument of type
'long unsigned int', but argument 2 has type 'uint64_t'
{aka 'long long unsigned int'} [-Werror=format=]
                         printf("%lu\t", mapcnt0);
                                 ~~^     ~~~~~~~
..

Fix page-types by using PRIu64 for uint64_t prints and check in slabinfo
for return code on chdir("..").

Link: https://lkml.kernel.org/r/c1ceb507-94bc-461c-934d-c19b77edd825@gmail.com
Fixes: e6d2c436ff69 ("tools/mm: allow users to provide additional cflags/ldflags")
Signed-off-by: Wladislav Wiebe <wladislav.kw@gmail.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Herton R. Krzesinski <herton@redhat.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
tools/mm/page-types.c
tools/mm/slabinfo.c

index fa050d5a48cdb067b20fa012203e64a1b435fb6f..6eb17cc1a06c522f124c81389fac5cc45bac956b 100644 (file)
@@ -22,6 +22,7 @@
 #include <time.h>
 #include <setjmp.h>
 #include <signal.h>
+#include <inttypes.h>
 #include <sys/types.h>
 #include <sys/errno.h>
 #include <sys/fcntl.h>
@@ -391,9 +392,9 @@ static void show_page_range(unsigned long voffset, unsigned long offset,
                if (opt_file)
                        printf("%lx\t", voff);
                if (opt_list_cgroup)
-                       printf("@%llu\t", (unsigned long long)cgroup0);
+                       printf("@%" PRIu64 "\t", cgroup0);
                if (opt_list_mapcnt)
-                       printf("%lu\t", mapcnt0);
+                       printf("%" PRIu64 "\t", mapcnt0);
                printf("%lx\t%lx\t%s\n",
                                index, count, page_flag_name(flags0));
        }
@@ -419,9 +420,9 @@ static void show_page(unsigned long voffset, unsigned long offset,
        if (opt_file)
                printf("%lx\t", voffset);
        if (opt_list_cgroup)
-               printf("@%llu\t", (unsigned long long)cgroup);
+               printf("@%" PRIu64 "\t", cgroup)
        if (opt_list_mapcnt)
-               printf("%lu\t", mapcnt);
+               printf("%" PRIu64 "\t", mapcnt);
 
        printf("%lx\t%s\n", offset, page_flag_name(flags));
 }
index cfaeaea71042e5ba3f25d779bdc20693d88b1174..04e9e6ba86ead57a2743bf30c00618d6aa88c674 100644 (file)
@@ -1297,7 +1297,9 @@ static void read_slab_dir(void)
                        slab->cpu_partial_free = get_obj("cpu_partial_free");
                        slab->alloc_node_mismatch = get_obj("alloc_node_mismatch");
                        slab->deactivate_bypass = get_obj("deactivate_bypass");
-                       chdir("..");
+                       if (chdir(".."))
+                               fatal("Unable to chdir from slab ../%s\n",
+                                     slab->name);
                        if (slab->name[0] == ':')
                                alias_targets++;
                        slab++;