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

From: Greg Kroah-Hartman
Date: Thu Jun 24 2021 - 10:44:12 EST


On Thu, Jun 24, 2021 at 02:32:43PM +0200, Borislav Petkov wrote:
> 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.

Odd, I thought I tried that and something did not work. Let me try it
again...