bug: Hush suggest-attribute=format for __warn_printf()
Recent additions to this function cause GCC 14.3.0 to get excited
(W=1) and suggest a missing attribute:
lib/bug.c: In function '__warn_printf':
lib/bug.c:187:25: error: function '__warn_printf' be a candidate for 'gnu_printf' format attribute [-Werror=suggest-attribute=format]
187 | vprintk(fmt, *args);
| ^~~~~~~
Disable the diagnostic locally, following the pattern used for stuff
like va_format().
Fixes: 5c47b7f3d1 ("bug: Add BUG_FORMAT_ARGS infrastructure")
Signed-off-by: Brendan Jackman <jackmanb@google.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://patch.msgid.link/20251207-warn-printf-gcc-v1-1-b597d612b94b@google.com
pull/1354/merge
parent
b5e51ef787
commit
d36067d6ea
|
|
@ -173,6 +173,9 @@ struct bug_entry *find_bug(unsigned long bugaddr)
|
||||||
return module_find_bug(bugaddr);
|
return module_find_bug(bugaddr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
__diag_push();
|
||||||
|
__diag_ignore(GCC, all, "-Wsuggest-attribute=format",
|
||||||
|
"Not a valid __printf() conversion candidate.");
|
||||||
static void __warn_printf(const char *fmt, struct pt_regs *regs)
|
static void __warn_printf(const char *fmt, struct pt_regs *regs)
|
||||||
{
|
{
|
||||||
if (!fmt)
|
if (!fmt)
|
||||||
|
|
@ -192,6 +195,7 @@ static void __warn_printf(const char *fmt, struct pt_regs *regs)
|
||||||
|
|
||||||
printk("%s", fmt);
|
printk("%s", fmt);
|
||||||
}
|
}
|
||||||
|
__diag_pop();
|
||||||
|
|
||||||
static enum bug_trap_type __report_bug(struct bug_entry *bug, unsigned long bugaddr, struct pt_regs *regs)
|
static enum bug_trap_type __report_bug(struct bug_entry *bug, unsigned long bugaddr, struct pt_regs *regs)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue