Re: [PATCH] vsnprintf: drop __printf() attributes on binary printing functions

From: Alexei Starovoitov

Date: Thu Feb 05 2026 - 10:58:58 EST


On Thu, Feb 5, 2026 at 2:13 AM Arnd Bergmann <arnd@xxxxxxxx> wrote:
>
> On Thu, Feb 5, 2026, at 09:53, Petr Mladek wrote:
> > On Wed 2026-02-04 14:26:23, Arnd Bergmann wrote:
> >> Fixes: 6b2c1e30ad68 ("seq_file: Mark binary printing functions with __printf() attribute")
> >> Fixes: 7bf819aa992f ("vsnprintf: Mark binary printing functions with __printf() attribute")
> >
> > From the commit message, it is not obvious why reverting these commits
> > won't bring back the warnings in the modified functions.
> >
> > My understanding is that the warnings won't get back thanks to
> > the commit bd67c1c3c353b6560 ("vsnprintf: Silence false positive
> > GCC warning for va_format()") as explained by the original cover
> > letter, see
> > https://lore.kernel.org/all/20250321144822.324050-1-andriy.shevchenko@xxxxxxxxxxxxxxx/#t
> >
> > It would be worth to mentionin this in the commit message.
>
> Unfortunately, I have not been able to reproduce the original
> warnings at all. The va_format() warning and the patch to
> silence that look entirely unrelated here, that was just the
> compiler incorrectly identifying a function that does not even
> take a format argument.
>
> I'm sure some other intermediate change managed to shut up
> the warnings, but I don't know which one. My best guess would
> be that 938df695e98d ("vsprintf: associate the format state with
> the format pointer") made gcc no longer warn about bstr_printf(),
> but that predates Andy's patch and I can't easily revert it for
> testing. Checking out a kernel before those patches does have
> the warning on va_format() but not on the other ones.
>
> >> Link: https://lore.kernel.org/all/CAADnVQK3eZp3yp35OUx8j1UBsQFhgsn5-4VReqAJ=68PaaKYmg@xxxxxxxxxxxxxx/
> >> Closes: https://lore.kernel.org/oe-kbuild-all/202512061640.9hKTnB8p-lkp@xxxxxxxxx/
> >> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> >> Suggested-by: Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx>
> >> Acked-by: Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx>
> >> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> >> ---
> >> For reference, three additional patches are required before we can drop
> >> the Makefile.warn line that currently hides these warnings:
> >>
> >> https://lore.kernel.org/lkml/20260203162546.2254900-1-arnd@xxxxxxxxxx/
> >> https://lore.kernel.org/lkml/20260203163440.2674340-1-arnd@xxxxxxxxxx/
> >> https://lore.kernel.org/lkml/20260203164545.3174910-1-arnd@xxxxxxxxxx/
> >>
> >> Tested using randconfig builds on arm/arm64/x86
> >> ---
> >> include/linux/seq_file.h | 1 -
> >> include/linux/string.h | 4 ++--
> >> 2 files changed, 2 insertions(+), 3 deletions(-)
> >
> > Otherwise, the change looks good to me. Feel free to use,
> > ideally with the updated commit message:
> >
> > Acked-by: Petr Mladek <pmladek@xxxxxxxx>
> >
> > I wonder who should take this patch. Should it go via
> > printk/bpf/tracing or another tree?
> > Does anyone has any preference, please?
>
> I think your tree makes most sense here, but I have no strong
> preference.

As long as it makes into the upcoming merge window any tree is fine.
Let's go via printk.