diff mbox

binfmt_flat: fix format string for u32

Message ID 20170710110832.667379-1-arnd@arndb.de
State New
Headers show

Commit Message

Arnd Bergmann July 10, 2017, 11:08 a.m. UTC
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(-)

-- 
2.9.0

Comments

Joe Perches July 10, 2017, 3:49 p.m. UTC | #1
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
diff mbox

Patch

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);