Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1684137 > unrolled thread

[PATCH] binfmt_flat: fix format string for u32

Started byArnd Bergmann <arnd@arndb.de>
First post2017-07-10 13:10 +0200
Last post2017-07-10 17:50 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] binfmt_flat: fix format string for u32 Arnd Bergmann <arnd@arndb.de> - 2017-07-10 13:10 +0200
    Re: [PATCH] binfmt_flat: fix format string for u32 Joe Perches <joe@perches.com> - 2017-07-10 17:50 +0200

#1684137 — [PATCH] binfmt_flat: fix format string for u32

FromArnd Bergmann <arnd@arndb.de>
Date2017-07-10 13:10 +0200
Subject[PATCH] binfmt_flat: fix format string for u32
Message-ID<u1EJH-4h6-3@gated-at.bofh.it>
The types have changed from 'unsigned long' to 'u32', so now the
format string is wrong, and produces a harmless warning on arm32:

arm-soc/fs/binfmt_flat.c: In function 'load_flat_file':
arm-soc/fs/binfmt_flat.c:577:25: error: format '%ld' expects argument of type 'long int', but argument 2 has type 'u32 {aka unsigned int}' [-Werror=format=]

This changes it to '%d' instead, matching the 'u32' type.

Fixes: 468138d78510 ("binfmt_flat: flat_{get,put}_addr_from_rp() should be able to fail")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 fs/binfmt_flat.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/binfmt_flat.c b/fs/binfmt_flat.c
index 69ec23daa25e..96a06197f83a 100644
--- a/fs/binfmt_flat.c
+++ b/fs/binfmt_flat.c
@@ -574,7 +574,7 @@ static int load_flat_file(struct linux_binprm *bprm,
 				MAX_SHARED_LIBS * sizeof(unsigned long),
 				FLAT_DATA_ALIGN);
 
-		pr_debug("Allocated data+bss+stack (%ld bytes): %lx\n",
+		pr_debug("Allocated data+bss+stack (%d bytes): %lx\n",
 			 data_len + bss_len + stack_len, datapos);
 
 		fpos = ntohl(hdr->data_start);
-- 
2.9.0

[toc] | [next] | [standalone]


#1684370

FromJoe Perches <joe@perches.com>
Date2017-07-10 17:50 +0200
Message-ID<u1J6H-6RW-33@gated-at.bofh.it>
In reply to#1684137
On Mon, 2017-07-10 at 13:08 +0200, Arnd Bergmann wrote:
> The types have changed from 'unsigned long' to 'u32', so now the
> format string is wrong, and produces a harmless warning on arm32:
[]
> This changes it to '%d' instead, matching the 'u32' type.
[]
> diff --git a/fs/binfmt_flat.c b/fs/binfmt_flat.c
[]
> @@ -574,7 +574,7 @@ static int load_flat_file(struct linux_binprm *bprm,
>  				MAX_SHARED_LIBS * sizeof(unsigned long),
>  				FLAT_DATA_ALIGN);
>  
> -		pr_debug("Allocated data+bss+stack (%ld bytes): %lx\n",
> +		pr_debug("Allocated data+bss+stack (%d bytes): %lx\n",
>  			 data_len + bss_len + stack_len, datapos);

Ideally, %u not %d as data_len, bss_len and stack_len are all u32

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web