Re: [PATCH] x86/vdso: Use proper modifier for len's printf in extract

From: Jiri Slaby
Date: Thu Mar 04 2021 - 00:20:06 EST


On 03. 03. 21, 19:36, Borislav Petkov wrote:
On Wed, Mar 03, 2021 at 07:43:57AM +0100, Jiri Slaby wrote:
Commit 8382c668ce4f ("x86/vdso: Add support for exception fixup in vDSO
functions") added a printf of len which is size_t. Compilers now
complain on 32b:
In file included from arch/x86/entry/vdso/vdso2c.c:162:
arch/x86/entry/vdso/vdso2c.h: In function 'extract64':
arch/x86/entry/vdso/vdso2c.h:38:52: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'size_t' {aka 'unsigned int'}


I know it is obvious but how do you trigger this?

A 32-bit allmodconfig with both debian's gcc-10 and leap15's gcc-7 don't
trigger that warning. Which might answer your question why I haven't
caught it yet. :-)

It was caught by suse's build bot while merging the stable branch. But it can be also seen in OBS in Kernel:stable:

https://build.opensuse.org/public/build/Kernel:stable/standard/i586/kernel-pae/_log
https://build.opensuse.org/public/build/Kernel:stable/standard/i586/kernel-vanilla/_log

It's built with gcc 10 from tumbleweed and it's a standard config from kerncvs:
https://github.com/openSUSE/kernel-source/blob/stable/config/i386/pae

thanks,
--
js
suse labs