Re: [PATCH 00/12] Clang -Wformat warning fixes

From: Andrew Morton
Date: Thu Jun 09 2022 - 21:19:29 EST


On Thu, 9 Jun 2022 16:16:16 -0700 Bill Wendling <morbo@xxxxxxxxxx> wrote:

> On Thu, Jun 9, 2022 at 4:03 PM Jan Engelhardt <jengelh@xxxxxxx> wrote:
> > On Friday 2022-06-10 00:49, Bill Wendling wrote:
> > >On Thu, Jun 9, 2022 at 3:25 PM Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
> > >> On Thu, 9 Jun 2022 22:16:19 +0000 Bill Wendling <morbo@xxxxxxxxxx> wrote:
> > >>
> > >> > This patch set fixes some clang warnings when -Wformat is enabled.
> > >>
> > >> tldr:
> > >>
> > >> - printk(msg);
> > >> + printk("%s", msg);
> > >>
> > >> Otherwise these changes are a
> > >> useless consumer of runtime resources.
> > >
> > >Calling a "printf" style function is already insanely expensive.
> > >[...]
> > >The "printk" and similar functions all have the "__printf" attribute.
> > >I don't know of a modification to that attribute which can turn off
> > >this type of check.
> >
> > Perhaps you can split vprintk_store in the middle (after the call to
> > vsnprintf), and offer the second half as a function of its own (e.g.
> > "puts"). Then the tldr could be
> >
> > - printk(msg);
> > + puts(msg);
>
> That might be a nice compromise. Andrew, what do you think?
>

Sure. It's surprising that we don't already have a puts().