69 lines
2.8 KiB
Diff
69 lines
2.8 KiB
Diff
|
From 82f7de2724c42a6aecc0cff93881b3dfd09363ce Mon Sep 17 00:00:00 2001
|
|||
|
From: Geert Uytterhoeven <geert+renesas@glider.be>
|
|||
|
Date: Wed, 17 Mar 2021 13:14:50 +0100
|
|||
|
Subject: [PATCH] printk: Use %zu to format size_t
|
|||
|
MIME-Version: 1.0
|
|||
|
Content-Type: text/plain; charset=UTF-8
|
|||
|
Content-Transfer-Encoding: 8bit
|
|||
|
|
|||
|
When compiling for 32-bit:
|
|||
|
|
|||
|
util_lib/elf_info.c: In function ‘dump_dmesg_lockless’:
|
|||
|
util_lib/elf_info.c:1095:39: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘size_t’ {aka ‘unsigned int’} [-Wformat=]
|
|||
|
1095 | fprintf(stderr, "Failed to malloc %lu bytes for prb: %s\n",
|
|||
|
| ~~^
|
|||
|
| |
|
|||
|
| long unsigned int
|
|||
|
| %u
|
|||
|
1096 | printk_ringbuffer_sz, strerror(errno));
|
|||
|
| ~~~~~~~~~~~~~~~~~~~~
|
|||
|
| |
|
|||
|
| size_t {aka unsigned int}
|
|||
|
util_lib/elf_info.c:1101:49: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘size_t’ {aka ‘unsigned int’} [-Wformat=]
|
|||
|
1101 | fprintf(stderr, "Failed to read prb of size %lu bytes: %s\n",
|
|||
|
| ~~^
|
|||
|
| |
|
|||
|
| long unsigned int
|
|||
|
| %u
|
|||
|
1102 | printk_ringbuffer_sz, strerror(errno));
|
|||
|
| ~~~~~~~~~~~~~~~~~~~~
|
|||
|
| |
|
|||
|
| size_t {aka unsigned int}
|
|||
|
|
|||
|
Indeed, "size_t" is "unsigned int" on 32-bit platforms, and "unsigned
|
|||
|
long" on 64-bit platforms.
|
|||
|
|
|||
|
Fix this by formatting using "%zu".
|
|||
|
|
|||
|
Fixes: 4149df9005f2cdd2 ("printk: add support for lockless ringbuffer")
|
|||
|
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
|
|||
|
Reviewed-by: John Ogness <john.ogness@linutronix.de>
|
|||
|
Signed-off-by: Simon Horman <horms@verge.net.au>
|
|||
|
---
|
|||
|
util_lib/elf_info.c | 4 ++--
|
|||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|||
|
|
|||
|
diff --git a/util_lib/elf_info.c b/util_lib/elf_info.c
|
|||
|
index 7c0a2c3..676926c 100644
|
|||
|
--- a/util_lib/elf_info.c
|
|||
|
+++ b/util_lib/elf_info.c
|
|||
|
@@ -1092,13 +1092,13 @@ static void dump_dmesg_lockless(int fd, void (*handler)(char*, unsigned int))
|
|||
|
kaddr = read_file_pointer(fd, vaddr_to_offset(prb_vaddr));
|
|||
|
m.prb = calloc(1, printk_ringbuffer_sz);
|
|||
|
if (!m.prb) {
|
|||
|
- fprintf(stderr, "Failed to malloc %lu bytes for prb: %s\n",
|
|||
|
+ fprintf(stderr, "Failed to malloc %zu bytes for prb: %s\n",
|
|||
|
printk_ringbuffer_sz, strerror(errno));
|
|||
|
exit(64);
|
|||
|
}
|
|||
|
ret = pread(fd, m.prb, printk_ringbuffer_sz, vaddr_to_offset(kaddr));
|
|||
|
if (ret != printk_ringbuffer_sz) {
|
|||
|
- fprintf(stderr, "Failed to read prb of size %lu bytes: %s\n",
|
|||
|
+ fprintf(stderr, "Failed to read prb of size %zu bytes: %s\n",
|
|||
|
printk_ringbuffer_sz, strerror(errno));
|
|||
|
exit(65);
|
|||
|
}
|
|||
|
--
|
|||
|
2.31.1
|
|||
|
|