mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-31 10:31:33 -04:00
mm/show_mem: fix format string inconsistencies and type mismatches
Fix five format string issues in show_free_areas() and __show_mem(): 1-2. reserved_highatomic and free_highatomic: %luKB -> %lukB The uppercase "KB" is inconsistent with all other fields in the same output block and with /proc/meminfo convention. 3. local_pcp: %ukB -> %lukB with explicit (unsigned long) cast per_cpu_pages.count is int, so K(count) yields int. Using %u was a signed/unsigned mismatch. Cast to unsigned long and use %lu for consistency with all other K() usages in the file. 4. total pagecache pages: %ld -> %lu global_node_page_state() returns unsigned long. Using %ld is a signedness mismatch caught by gcc -Wformat-signedness. 5. hwpoisoned pages: %lu -> %ld atomic_long_read() returns long (signed). Using %lu is a signedness mismatch caught by gcc -Wformat-signedness. Verified with: make KCFLAGS="-Wformat -Wformat-signedness" mm/show_mem.o Link: https://lore.kernel.org/20260805021556.1908807-1-ye.liu@linux.dev Signed-off-by: Ye Liu <liuye@kylinos.cn> Acked-by: Vlastimil Babka (SUSE) <vbabka@kernel.org> Acked-by: Johannes Weiner <hannes@cmpxchg.org> Cc: Michal Hocko <mhocko@suse.com> Cc: Suren Baghdasaryan <surenb@google.com> Cc: Zi Yan <ziy@nvidia.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
@@ -309,8 +309,8 @@ static void show_free_areas(unsigned int filter, const nodemask_t *nodemask,
|
||||
" min:%lukB"
|
||||
" low:%lukB"
|
||||
" high:%lukB"
|
||||
" reserved_highatomic:%luKB"
|
||||
" free_highatomic:%luKB"
|
||||
" reserved_highatomic:%lukB"
|
||||
" free_highatomic:%lukB"
|
||||
" active_anon:%lukB"
|
||||
" inactive_anon:%lukB"
|
||||
" active_file:%lukB"
|
||||
@@ -323,7 +323,7 @@ static void show_free_areas(unsigned int filter, const nodemask_t *nodemask,
|
||||
" mlocked:%lukB"
|
||||
" bounce:%lukB"
|
||||
" free_pcp:%lukB"
|
||||
" local_pcp:%ukB"
|
||||
" local_pcp:%lukB"
|
||||
" free_cma:%lukB"
|
||||
"\n",
|
||||
zone->name,
|
||||
@@ -350,7 +350,7 @@ static void show_free_areas(unsigned int filter, const nodemask_t *nodemask,
|
||||
K(zone_page_state(zone, NR_MLOCK)),
|
||||
0UL,
|
||||
K(free_pcp),
|
||||
K(this_cpu_read(zone->per_cpu_pageset->count)),
|
||||
K((unsigned long)this_cpu_read(zone->per_cpu_pageset->count)),
|
||||
K(zone_page_state(zone, NR_FREE_CMA_PAGES)));
|
||||
printk("lowmem_reserve[]:");
|
||||
for (i = 0; i < MAX_NR_ZONES; i++)
|
||||
@@ -400,7 +400,7 @@ static void show_free_areas(unsigned int filter, const nodemask_t *nodemask,
|
||||
hugetlb_show_meminfo_node(nid);
|
||||
}
|
||||
|
||||
printk("%ld total pagecache pages\n", global_node_page_state(NR_FILE_PAGES));
|
||||
printk("%lu total pagecache pages\n", global_node_page_state(NR_FILE_PAGES));
|
||||
|
||||
show_swap_cache_info();
|
||||
}
|
||||
@@ -430,7 +430,7 @@ void __show_mem(unsigned int filter, const nodemask_t *nodemask,
|
||||
printk("%lu pages cma reserved\n", totalcma_pages);
|
||||
#endif
|
||||
#ifdef CONFIG_MEMORY_FAILURE
|
||||
printk("%lu pages hwpoisoned\n", atomic_long_read(&num_poisoned_pages));
|
||||
printk("%ld pages hwpoisoned\n", atomic_long_read(&num_poisoned_pages));
|
||||
#endif
|
||||
#ifdef CONFIG_MEM_ALLOC_PROFILING
|
||||
static DEFINE_SPINLOCK(mem_alloc_profiling_spinlock);
|
||||
|
||||
Reference in New Issue
Block a user