| From 37da6f81ce340a0b1f0c8cf6212f396791dce612 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Sat, 13 Mar 2021 13:09:18 -0800 |
| Subject: bpftool: Fix maybe-uninitialized warnings |
| |
| From: Andrii Nakryiko <andrii@kernel.org> |
| |
| [ Upstream commit 4bbb3583687051ef99966ddaeb1730441b777d40 ] |
| |
| Somehow when bpftool is compiled in -Og mode, compiler produces new warnings |
| about possibly uninitialized variables. Fix all the reported problems. |
| |
| Fixes: 2119f2189df1 ("bpftool: add C output format option to btf dump subcommand") |
| Signed-off-by: Andrii Nakryiko <andrii@kernel.org> |
| Signed-off-by: Alexei Starovoitov <ast@kernel.org> |
| Link: https://lore.kernel.org/bpf/20210313210920.1959628-3-andrii@kernel.org |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| tools/bpf/bpftool/btf.c | 3 +++ |
| tools/bpf/bpftool/main.c | 3 +-- |
| tools/bpf/bpftool/map.c | 2 +- |
| 3 files changed, 5 insertions(+), 3 deletions(-) |
| |
| diff --git a/tools/bpf/bpftool/btf.c b/tools/bpf/bpftool/btf.c |
| index fe9e7b3a4b50..1326fff3629b 100644 |
| --- a/tools/bpf/bpftool/btf.c |
| +++ b/tools/bpf/bpftool/btf.c |
| @@ -538,6 +538,7 @@ static int do_dump(int argc, char **argv) |
| NEXT_ARG(); |
| if (argc < 1) { |
| p_err("expecting value for 'format' option\n"); |
| + err = -EINVAL; |
| goto done; |
| } |
| if (strcmp(*argv, "c") == 0) { |
| @@ -547,11 +548,13 @@ static int do_dump(int argc, char **argv) |
| } else { |
| p_err("unrecognized format specifier: '%s', possible values: raw, c", |
| *argv); |
| + err = -EINVAL; |
| goto done; |
| } |
| NEXT_ARG(); |
| } else { |
| p_err("unrecognized option: '%s'", *argv); |
| + err = -EINVAL; |
| goto done; |
| } |
| } |
| diff --git a/tools/bpf/bpftool/main.c b/tools/bpf/bpftool/main.c |
| index b86f450e6fce..d9afb730136a 100644 |
| --- a/tools/bpf/bpftool/main.c |
| +++ b/tools/bpf/bpftool/main.c |
| @@ -276,7 +276,7 @@ static int do_batch(int argc, char **argv) |
| int n_argc; |
| FILE *fp; |
| char *cp; |
| - int err; |
| + int err = 0; |
| int i; |
| |
| if (argc < 2) { |
| @@ -370,7 +370,6 @@ static int do_batch(int argc, char **argv) |
| } else { |
| if (!json_output) |
| printf("processed %d commands\n", lines); |
| - err = 0; |
| } |
| err_close: |
| if (fp != stdin) |
| diff --git a/tools/bpf/bpftool/map.c b/tools/bpf/bpftool/map.c |
| index b400364ee054..09ae0381205b 100644 |
| --- a/tools/bpf/bpftool/map.c |
| +++ b/tools/bpf/bpftool/map.c |
| @@ -100,7 +100,7 @@ static int do_dump_btf(const struct btf_dumper *d, |
| void *value) |
| { |
| __u32 value_id; |
| - int ret; |
| + int ret = 0; |
| |
| /* start of key-value pair */ |
| jsonw_start_object(d->jw); |
| -- |
| 2.30.2 |
| |