[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <41ef1cd1-017d-a0d4-91d3-a1183bd2ab01@infradead.org>
Date: Tue, 15 Dec 2020 08:32:20 -0800
From: Randy Dunlap <rdunlap@...radead.org>
To: "Enrico Weigelt, metux IT consult" <info@...ux.net>,
linux-kernel@...r.kernel.org
Cc: luto@...nel.org, tglx@...utronix.de, mingo@...hat.com,
bp@...en8.de, x86@...nel.org, hpa@...or.com
Subject: Re: [PATCH] arch: x86: entry: vdso: fix type conversion on printf()
call
On 12/15/20 8:03 AM, Enrico Weigelt, metux IT consult wrote:
> Fixing the following compiler warning by explicit conversion to long:
>
> In file included from /home/nekrad/src/apu2-dev/pkg/kernel.apu2.git/arch/x86/entry/vdso/vdso2c.c:162:0:
> /home/nekrad/src/apu2-dev/pkg/kernel.apu2.git/arch/x86/entry/vdso/vdso2c.h: In function 'extract64':
> /home/nekrad/src/apu2-dev/pkg/kernel.apu2.git/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}' [-Wformat=]
> fprintf(outfile, "static const unsigned char %s[%lu] = {", name, len);
> ^
> CC mm/filemap.o
> In file included from /home/nekrad/src/apu2-dev/pkg/kernel.apu2.git/arch/x86/entry/vdso/vdso2c.c:166:0:
> /home/nekrad/src/apu2-dev/pkg/kernel.apu2.git/arch/x86/entry/vdso/vdso2c.h: In function 'extract32':
> /home/nekrad/src/apu2-dev/pkg/kernel.apu2.git/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}' [-Wformat=]
> fprintf(outfile, "static const unsigned char %s[%lu] = {", name, len);
>
> Signed-off-by: Enrico Weigelt, metux IT consult <info@...ux.net>
> ---
> arch/x86/entry/vdso/vdso2c.h | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
Hi,
size_t is normally printed with %zu.
Is there some reason that isn't being used here?
> diff --git a/arch/x86/entry/vdso/vdso2c.h b/arch/x86/entry/vdso/vdso2c.h
> index 1c7cfac7e64a..5c6a4bbc63f9 100644
> --- a/arch/x86/entry/vdso/vdso2c.h
> +++ b/arch/x86/entry/vdso/vdso2c.h
> @@ -35,7 +35,8 @@ static void BITSFUNC(extract)(const unsigned char *data, size_t data_len,
> if (offset + len > data_len)
> fail("section to extract overruns input data");
>
> - fprintf(outfile, "static const unsigned char %s[%lu] = {", name, len);
> + fprintf(outfile, "static const unsigned char %s[%lu] = {", name,
> + (unsigned long)len);
> BITSFUNC(copy)(outfile, data + offset, len);
> fprintf(outfile, "\n};\n\n");
> }
>
thanks.
--
~Randy
Powered by blists - more mailing lists