Re: [RESEND PATCH] x86/tools/relocs: add __printf attribute to die()

From: Borislav Petkov
Date: Thu Jun 24 2021 - 08:32:55 EST


On Thu, Jun 24, 2021 at 01:58:03PM +0200, Greg Kroah-Hartman wrote:
> There are a number of printf "mismatches" in the use of die() in
> x86/tools/relocs.c. Fix them up and add the printf attribute to the
> reloc.h header file to prevent them from ever coming back.
>
> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
> Cc: Borislav Petkov <bp@xxxxxxxxx>
> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
> Cc: linux-kernel@xxxxxxxxxxxxxxx
> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> ---
> arch/x86/tools/relocs.c | 21 +++++++++++----------
> arch/x86/tools/relocs.h | 1 +
> 2 files changed, 12 insertions(+), 10 deletions(-)
>
> Originally sent back in Feb, but it seems to have been missed:
> https://lore.kernel.org/r/20210227095356.603513-1-gregkh@xxxxxxxxxxxxxxxxxxx
>
>
> diff --git a/arch/x86/tools/relocs.c b/arch/x86/tools/relocs.c
> index ce7188cbdae5..c3105a8c6cde 100644
> --- a/arch/x86/tools/relocs.c
> +++ b/arch/x86/tools/relocs.c
> @@ -389,7 +389,8 @@ static void read_ehdr(FILE *fp)
> Elf_Shdr shdr;
>
> if (fseek(fp, ehdr.e_shoff, SEEK_SET) < 0)
> - die("Seek to %d failed: %s\n", ehdr.e_shoff, strerror(errno));
> + die("Seek to %d failed: %s\n",
> + (int)ehdr.e_shoff, strerror(errno));

Instead of casting all those, I think you should use %zu as, apparently,
we're using unsigned types for Elf{32,64}_Off and Elf{32,64}_Xword, etc.

Thx.

--
Regards/Gruss,
Boris.

https://people.kernel.org/tglx/notes-about-netiquette