From: Arnd Bergmann Building with extra warnings enabled shows some missing printf attributes: kernel/bpf/diagnostics.c: In function 'bpf_diag_source': kernel/bpf/diagnostics.c:828:9: error: function 'bpf_diag_source' might be a candidate for 'gnu_printf' format attribute [-Werror=suggest-attribute=format] 828 | msg = bpf_diag_vfmt(env, fmt, args); Add these to shut up the warning and allow the compiler to check the format strings. Fixes: a8f427835394 ("bpf: Report Program Structure CFG errors") Signed-off-by: Arnd Bergmann --- kernel/bpf/diagnostics.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kernel/bpf/diagnostics.c b/kernel/bpf/diagnostics.c index a2cac59c6639..b069fe73d3dc 100644 --- a/kernel/bpf/diagnostics.c +++ b/kernel/bpf/diagnostics.c @@ -291,7 +291,7 @@ char *bpf_diag_fmt_buf(struct bpf_verifier_env *env, size_t size) return buf; } -const char *bpf_diag_vfmt(struct bpf_verifier_env *env, const char *fmt, va_list args) +__printf(2, 0) const char *bpf_diag_vfmt(struct bpf_verifier_env *env, const char *fmt, va_list args) { va_list copy; char *buf; @@ -309,7 +309,7 @@ const char *bpf_diag_vfmt(struct bpf_verifier_env *env, const char *fmt, va_list return buf ?: ""; } -const char *bpf_diag_fmt(struct bpf_verifier_env *env, const char *fmt, ...) +__printf(2, 3) const char *bpf_diag_fmt(struct bpf_verifier_env *env, const char *fmt, ...) { const char *buf; va_list args; @@ -794,7 +794,7 @@ static void diag_print_insn_context(struct bpf_verifier_env *env, u32 insn_idx, } } -static void bpf_diag_source(struct bpf_verifier_env *env, u32 insn_idx, const char *label, +__printf(4, 5) static void bpf_diag_source(struct bpf_verifier_env *env, u32 insn_idx, const char *label, const char *fmt, ...) { struct bpf_diag_scratch *scratch; -- 2.53.0