| From ab99ad58dd9969580c5178497dfef8cf0f3ea2e9 Mon Sep 17 00:00:00 2001 |
| From: Quentin Monnet <quentin.monnet@netronome.com> |
| Date: Fri, 14 Dec 2018 13:56:01 +0000 |
| Subject: tools: bpftool: fix -Wmissing declaration warnings |
| |
| [ Upstream commit c101189bc9680675a2686bafe908015a07a0da51 ] |
| |
| Help compiler check arguments for several utility functions used to |
| print items to the console by adding the "printf" attribute when |
| declaring those functions. |
| |
| Also, declare as "static" two functions that are only used in prog.c. |
| |
| All of them discovered by compiling bpftool with |
| -Wmissing-format-attribute -Wmissing-declarations. |
| |
| Signed-off-by: Quentin Monnet <quentin.monnet@netronome.com> |
| Reviewed-by: Jakub Kicinski <jakub.kicinski@netronome.com> |
| Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| tools/bpf/bpftool/common.c | 4 ++-- |
| tools/bpf/bpftool/json_writer.c | 6 ++++-- |
| tools/bpf/bpftool/prog.c | 4 ++-- |
| tools/bpf/bpftool/xlated_dumper.c | 7 ++++--- |
| 4 files changed, 12 insertions(+), 9 deletions(-) |
| |
| diff --git a/tools/bpf/bpftool/common.c b/tools/bpf/bpftool/common.c |
| index 70fd48d79f61..05d715e6b128 100644 |
| --- a/tools/bpf/bpftool/common.c |
| +++ b/tools/bpf/bpftool/common.c |
| @@ -58,7 +58,7 @@ |
| #define BPF_FS_MAGIC 0xcafe4a11 |
| #endif |
| |
| -void p_err(const char *fmt, ...) |
| +void __printf(1, 2) p_err(const char *fmt, ...) |
| { |
| va_list ap; |
| |
| @@ -76,7 +76,7 @@ void p_err(const char *fmt, ...) |
| va_end(ap); |
| } |
| |
| -void p_info(const char *fmt, ...) |
| +void __printf(1, 2) p_info(const char *fmt, ...) |
| { |
| va_list ap; |
| |
| diff --git a/tools/bpf/bpftool/json_writer.c b/tools/bpf/bpftool/json_writer.c |
| index c6eef76322ae..4e4149421d07 100644 |
| --- a/tools/bpf/bpftool/json_writer.c |
| +++ b/tools/bpf/bpftool/json_writer.c |
| @@ -19,6 +19,7 @@ |
| #include <malloc.h> |
| #include <inttypes.h> |
| #include <stdint.h> |
| +#include <linux/compiler.h> |
| |
| #include "json_writer.h" |
| |
| @@ -156,7 +157,8 @@ void jsonw_name(json_writer_t *self, const char *name) |
| putc(' ', self->out); |
| } |
| |
| -void jsonw_vprintf_enquote(json_writer_t *self, const char *fmt, va_list ap) |
| +void __printf(2, 0) |
| +jsonw_vprintf_enquote(json_writer_t *self, const char *fmt, va_list ap) |
| { |
| jsonw_eor(self); |
| putc('"', self->out); |
| @@ -164,7 +166,7 @@ void jsonw_vprintf_enquote(json_writer_t *self, const char *fmt, va_list ap) |
| putc('"', self->out); |
| } |
| |
| -void jsonw_printf(json_writer_t *self, const char *fmt, ...) |
| +void __printf(2, 3) jsonw_printf(json_writer_t *self, const char *fmt, ...) |
| { |
| va_list ap; |
| |
| diff --git a/tools/bpf/bpftool/prog.c b/tools/bpf/bpftool/prog.c |
| index ccee180dfb76..69b01a6158bd 100644 |
| --- a/tools/bpf/bpftool/prog.c |
| +++ b/tools/bpf/bpftool/prog.c |
| @@ -84,7 +84,7 @@ static const char * const attach_type_strings[] = { |
| [__MAX_BPF_ATTACH_TYPE] = NULL, |
| }; |
| |
| -enum bpf_attach_type parse_attach_type(const char *str) |
| +static enum bpf_attach_type parse_attach_type(const char *str) |
| { |
| enum bpf_attach_type type; |
| |
| @@ -713,7 +713,7 @@ struct map_replace { |
| char *name; |
| }; |
| |
| -int map_replace_compar(const void *p1, const void *p2) |
| +static int map_replace_compar(const void *p1, const void *p2) |
| { |
| const struct map_replace *a = p1, *b = p2; |
| |
| diff --git a/tools/bpf/bpftool/xlated_dumper.c b/tools/bpf/bpftool/xlated_dumper.c |
| index 3284759df98a..98083e4dc0f9 100644 |
| --- a/tools/bpf/bpftool/xlated_dumper.c |
| +++ b/tools/bpf/bpftool/xlated_dumper.c |
| @@ -114,7 +114,7 @@ struct kernel_sym *kernel_syms_search(struct dump_data *dd, |
| sizeof(*dd->sym_mapping), kernel_syms_cmp) : NULL; |
| } |
| |
| -static void print_insn(void *private_data, const char *fmt, ...) |
| +static void __printf(2, 3) print_insn(void *private_data, const char *fmt, ...) |
| { |
| va_list args; |
| |
| @@ -123,7 +123,7 @@ static void print_insn(void *private_data, const char *fmt, ...) |
| va_end(args); |
| } |
| |
| -static void |
| +static void __printf(2, 3) |
| print_insn_for_graph(void *private_data, const char *fmt, ...) |
| { |
| char buf[64], *p; |
| @@ -154,7 +154,8 @@ print_insn_for_graph(void *private_data, const char *fmt, ...) |
| printf("%s", buf); |
| } |
| |
| -static void print_insn_json(void *private_data, const char *fmt, ...) |
| +static void __printf(2, 3) |
| +print_insn_json(void *private_data, const char *fmt, ...) |
| { |
| unsigned int l = strlen(fmt); |
| char chomped_fmt[l]; |
| -- |
| 2.19.1 |
| |