tools/bpf/resolve_btfids/main.c | 4 ++-- tools/lib/bpf/btf_dump.c | 4 ++-- tools/lib/subcmd/parse-options.c | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-)
Hello! This v2 series initializes the variables 'set' and 'set8' in sets_patch to NULL, along with the variables 'new_off' and 'pad_bits' and 'pad_type' in btf_dump_emit_bit_padding to zero or NULL according to their types and the variable 'o' in options__order to NULL to prevent compiler warnings/errors which are observed when compiling with non-default compilation options, but are not emitted by the compiler with the current default compilation options. - tools/bpf/resolve_btfids/main.c: Initialize the variables 'set' and 'set8' in sets_patch to NULL. - tools/lib/bpf/btf_dump.c: Initialize the variables 'new_off' and 'pad_bits' and 'pad_type' in btf_dump_emit_bit_padding to zero/NULL - tools/lib/subcmd/parse-options.c: Initialize the variable 'o' in options__order to NULL. Sam James mentioned that Michael Weiß had previously sent an alternative patch as https://lore.kernel.org/all/20240731085217.94928-1-michael.weiss@aisec.fraunhofer.de/ Tested on x86_64 with clang version 17.0.6 and gcc (GCC) 13.3.1. $ for c in gcc clang; do for o in fast g s z $(seq 0 3); do make -C \ tools/bpf/resolve_btfids/ HOST_CC=${c} "HOSTCFLAGS=-O${o} -Wall" \ clean all 2>&1 | tee ${c}-O${o}.out; done; done && \ grep 'warning:\|error:' *.out [...] clang-O1.out:main.c:163:9: warning: ‘set8’ may be used uninitialized [-Wmaybe-uninitialized] clang-O1.out:main.c:163:9: warning: ‘set’ may be used uninitialized [-Wmaybe-uninitialized] clang-O2.out:main.c:163:9: warning: ‘set8’ may be used uninitialized [-Wmaybe-uninitialized] clang-O2.out:main.c:163:9: warning: ‘set’ may be used uninitialized [-Wmaybe-uninitialized] clang-O3.out:main.c:163:9: warning: ‘set8’ may be used uninitialized [-Wmaybe-uninitialized] clang-O3.out:main.c:163:9: warning: ‘set’ may be used uninitialized [-Wmaybe-uninitialized] clang-Ofast.out:main.c:163:9: warning: ‘set8’ may be used uninitialized [-Wmaybe-uninitialized] clang-Ofast.out:main.c:163:9: warning: ‘set’ may be used uninitialized [-Wmaybe-uninitialized] clang-Og.out:btf_dump.c:903:42: error: ‘new_off’ may be used uninitialized [-Werror=maybe-uninitialized] clang-Og.out:btf_dump.c:917:25: error: ‘pad_type’ may be used uninitialized [-Werror=maybe-uninitialized] clang-Og.out:btf_dump.c:930:20: error: ‘pad_bits’ may be used uninitialized [-Werror=maybe-uninitialized] clang-Os.out:parse-options.c:832:9: error: ‘o’ may be used uninitialized [-Werror=maybe-uninitialized] clang-Oz.out:parse-options.c:832:9: error: ‘o’ may be used uninitialized [-Werror=maybe-uninitialized] gcc-O1.out:main.c:163:9: warning: ‘set8’ may be used uninitialized [-Wmaybe-uninitialized] gcc-O1.out:main.c:163:9: warning: ‘set’ may be used uninitialized [-Wmaybe-uninitialized] gcc-O2.out:main.c:163:9: warning: ‘set8’ may be used uninitialized [-Wmaybe-uninitialized] gcc-O2.out:main.c:163:9: warning: ‘set’ may be used uninitialized [-Wmaybe-uninitialized] gcc-O3.out:main.c:163:9: warning: ‘set8’ may be used uninitialized [-Wmaybe-uninitialized] gcc-O3.out:main.c:163:9: warning: ‘set’ may be used uninitialized [-Wmaybe-uninitialized] gcc-Ofast.out:main.c:163:9: warning: ‘set8’ may be used uninitialized [-Wmaybe-uninitialized] gcc-Ofast.out:main.c:163:9: warning: ‘set’ may be used uninitialized [-Wmaybe-uninitialized] gcc-Og.out:btf_dump.c:903:42: error: ‘new_off’ may be used uninitialized [-Werror=maybe-uninitialized] gcc-Og.out:btf_dump.c:917:25: error: ‘pad_type’ may be used uninitialized [-Werror=maybe-uninitialized] gcc-Og.out:btf_dump.c:930:20: error: ‘pad_bits’ may be used uninitialized [-Werror=maybe-uninitialized] gcc-Os.out:parse-options.c:832:9: error: ‘o’ may be used uninitialized [-Werror=maybe-uninitialized] gcc-Oz.out:parse-options.c:832:9: error: ‘o’ may be used uninitialized [-Werror=maybe-uninitialized] The above warnings and/or errors are fixed. However, they are observed with current default compilation options. Updates since v1: - Incorporate feedback from reviewers. Add a comment about an alternative patch for parse-options.c sent before (based on comments from Sam James.) Split in multiple patches creating this series and a typo was fixed "Initiazlide" -> "Initialize" (suggested by Viktor Malik). State more clearly that the -Wmaybe-uninitialized issues only happen when compiling with non-default compilation options (based on comments from Yonghong Song.) Thanks, Eder Zulian (3): resolve_btfids: Fix compiler warnings libbpf: Prevent compiler warnings/errors libsubcmd: Silence compiler warning tools/bpf/resolve_btfids/main.c | 4 ++-- tools/lib/bpf/btf_dump.c | 4 ++-- tools/lib/subcmd/parse-options.c | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) -- 2.46.2
On Tue, Oct 22, 2024 at 07:23:26PM +0200, Eder Zulian wrote: SNIP > The above warnings and/or errors are fixed. However, they are observed with > current default compilation options. > > Updates since v1: > > - Incorporate feedback from reviewers. Add a comment about an alternative > patch for parse-options.c sent before (based on comments from Sam James.) > Split in multiple patches creating this series and a typo was fixed > "Initiazlide" -> "Initialize" (suggested by Viktor Malik). State more > clearly that the -Wmaybe-uninitialized issues only happen when compiling > with non-default compilation options (based on comments from Yonghong > Song.) > > Thanks, > > Eder Zulian (3): > resolve_btfids: Fix compiler warnings > libbpf: Prevent compiler warnings/errors > libsubcmd: Silence compiler warning Acked-by: Jiri Olsa <jolsa@kernel.org> jirka > > tools/bpf/resolve_btfids/main.c | 4 ++-- > tools/lib/bpf/btf_dump.c | 4 ++-- > tools/lib/subcmd/parse-options.c | 2 +- > 3 files changed, 5 insertions(+), 5 deletions(-) > > -- > 2.46.2 >
© 2016 - 2024 Red Hat, Inc.