diff options
| author | Brendan Jackman <jackmanb@google.com> | 2025-12-07 03:53:18 +0000 |
|---|---|---|
| committer | Peter Zijlstra <peterz@infradead.org> | 2025-12-09 10:14:47 +0100 |
| commit | 40f40edaa30137fe7f09752db60a7a6ab4124ef9 (patch) | |
| tree | 317fcdbf5ff01d41ec52091a84ead9569ebcbedb | |
| parent | 477fa55e3de7c40ba47f10c837c6a32e300893a1 (diff) | |
| download | tip-40f40edaa30137fe7f09752db60a7a6ab4124ef9.tar.gz | |
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 â=80=98__warn_printfâ=80=99:
lib/bug.c:187:25: error: function â__warn_printfâ might 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: 5c47b7f3d1a9 ("bug: Add BUG_FORMAT_ARGS infrastructure")
Signed-off-by: Brendan Jackman <jackmanb@google.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://patch.msgid.link/20251207-warn-printf-gcc-v1-1-b597d612b94b@google.com
| -rw-r--r-- | lib/bug.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/bug.c b/lib/bug.c index c6f691f3d42d2d..623c467a8b76c7 100644 --- a/lib/bug.c +++ b/lib/bug.c @@ -173,6 +173,9 @@ struct bug_entry *find_bug(unsigned long 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) { if (!fmt) @@ -192,6 +195,7 @@ static void __warn_printf(const char *fmt, struct pt_regs *regs) printk("%s", fmt); } +__diag_pop(); static enum bug_trap_type __report_bug(struct bug_entry *bug, unsigned long bugaddr, struct pt_regs *regs) { |
