On 11/13, David Michael wrote:
GCC 11.3.0 fails to compile btf_dump.c due to the following error,
which seems to originate in btf_dump_struct_data where the returned
value would be uninitialized if btf_vlen returns zero.
btf_dump.c: In function ‘btf_dump_dump_type_data’:
btf_dump.c:2363:12: error: ‘err’ may be used uninitialized in this
function [-Werror=maybe-uninitialized]
2363 | if (err < 0)
| ^
Fixes: 43174f0d4597 ("libbpf: Silence uninitialized warning/error in
btf_dump_dump_type_data")
Probably better to reference the original patch?
Fixes: 920d16af9b42 ("libbpf: BTF dumper support for typed data")
Acked-by: Stanislav Fomichev <sdf@xxxxxxxxxx>
Signed-off-by: David Michael <fedora.dm0@xxxxxxxxx>
---
Hi,
I encountered this build failure when using Gentoo's hardened profile to
build sys-kernel/gentoo-kernel (at least some 5.19 and 6.0 versions).
The following patch fixes it. Can this be applied?
Thanks.
David
tools/lib/bpf/btf_dump.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/lib/bpf/btf_dump.c b/tools/lib/bpf/btf_dump.c
index 12f7039e0..e9f849d82 100644
--- a/tools/lib/bpf/btf_dump.c
+++ b/tools/lib/bpf/btf_dump.c
@@ -1989,7 +1989,7 @@ static int btf_dump_struct_data(struct btf_dump *d,
{
const struct btf_member *m = btf_members(t);
__u16 n = btf_vlen(t);
- int i, err;
+ int i, err = 0;
/* note that we increment depth before calling btf_dump_print() below;
* this is intentional. btf_dump_data_newline() will not print a
--
2.38.1