x86/vdso: Use proper modifier for len's format specifier in extract()
authorJiri Slaby <jslaby@suse.cz>
Wed, 3 Mar 2021 06:43:57 +0000 (07:43 +0100)
committerBorislav Petkov <bp@suse.de>
Sat, 6 Mar 2021 10:34:07 +0000 (11:34 +0100)
Commit

  8382c668ce4f ("x86/vdso: Add support for exception fixup in vDSO functions")

prints length "len" which is size_t.

Compilers now complain when building on a 32-bit host:

  HOSTCC  arch/x86/entry/vdso/vdso2c
  ...
  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'}

So use proper modifier (%zu) for size_t.

 [ bp: Massage commit message. ]

Fixes: 8382c668ce4f ("x86/vdso: Add support for exception fixup in vDSO functions")
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Borislav Petkov <bp@suse.de>
Acked-by: Jarkko Sakkinen <jarkko@kernel.org>
Link: https://lkml.kernel.org/r/20210303064357.17056-1-jslaby@suse.cz
arch/x86/entry/vdso/vdso2c.h

index 1c7cfac..5264daa 100644 (file)
@@ -35,7 +35,7 @@ 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[%zu] = {", name, len);
        BITSFUNC(copy)(outfile, data + offset, len);
        fprintf(outfile, "\n};\n\n");
 }