[PATCH bpf-next 1/3] libbpf: fix uninitialized variable in btf_parse_type_sec

Subsystems: bpf [general] (safe dynamic programs and tools), bpf [library] (libbpf), the rest

STALE2131d LANDED

Landed in mainline as 33433913459a on 2020-09-30.

6 messages, 2 authors, 2020-09-30 · open the first message on its own page

[PATCH bpf-next 1/3] libbpf: fix uninitialized variable in btf_parse_type_sec

From: Andrii Nakryiko <hidden>
Date: 2020-09-29 22:15:41

Fix obvious unitialized variable use that wasn't reported by compiler. libbpf
Makefile changes to catch such errors are added separately.

Fixes: 3289959b97ca ("libbpf: Support BTF loading and raw data output in both endianness")
Signed-off-by: Andrii Nakryiko <redacted>
---
 tools/lib/bpf/btf.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/lib/bpf/btf.c b/tools/lib/bpf/btf.c
index e1dbd766c698..398b1f345b3c 100644
--- a/tools/lib/bpf/btf.c
+++ b/tools/lib/bpf/btf.c
@@ -347,7 +347,7 @@ static int btf_parse_type_sec(struct btf *btf)
 	struct btf_header *hdr = btf->hdr;
 	void *next_type = btf->types_data;
 	void *end_type = next_type + hdr->type_len;
-	int err, i, type_size;
+	int err, i = 0, type_size;
 
 	/* VOID (type_id == 0) is specially handled by btf__get_type_by_id(),
 	 * so ensure we can never properly use its offset from index by
-- 
2.24.1

[PATCH bpf-next 3/3] libbpf: compile in PIC mode only for shared library case

From: Andrii Nakryiko <hidden>
Date: 2020-09-29 22:15:31

Libbpf compiles .o's for static and shared library modes separately, so no
need to specify -fPIC for both. Keep it only for shared library mode.

Signed-off-by: Andrii Nakryiko <redacted>
---
 tools/lib/bpf/Makefile | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/tools/lib/bpf/Makefile b/tools/lib/bpf/Makefile
index 70cb44efe8cb..5f9abed3e226 100644
--- a/tools/lib/bpf/Makefile
+++ b/tools/lib/bpf/Makefile
@@ -104,13 +104,12 @@ endif
 # Append required CFLAGS
 override CFLAGS += $(EXTRA_WARNINGS) -Wno-switch-enum
 override CFLAGS += -Werror -Wall
-override CFLAGS += -fPIC
 override CFLAGS += $(INCLUDES)
 override CFLAGS += -fvisibility=hidden
 override CFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
 
 # flags specific for shared library
-SHLIB_FLAGS := -DSHARED
+SHLIB_FLAGS := -DSHARED -fPIC
 
 ifeq ($(VERBOSE),1)
   Q =
-- 
2.24.1

Re: [PATCH bpf-next 3/3] libbpf: compile in PIC mode only for shared library case

From: Martin KaFai Lau <hidden>
Date: 2020-09-30 00:05:13

On Tue, Sep 29, 2020 at 03:06:04PM -0700, Andrii Nakryiko wrote:
Libbpf compiles .o's for static and shared library modes separately, so no
need to specify -fPIC for both. Keep it only for shared library mode.
Acked-by: Martin KaFai Lau <redacted>

[PATCH bpf-next 2/3] libbpf: compile libbpf under -O2 level by default and catch extra warnings

From: Andrii Nakryiko <hidden>
Date: 2020-09-29 22:15:36

For some reason compiler doesn't complain about uninitialized variable, fixed
in previous patch, if libbpf is compiled without -O2 optimization level. So do
compile it with -O2 and never let similar issue slip by again. -Wall is added
unconditionally, so no need to specify it again.

Signed-off-by: Andrii Nakryiko <redacted>
---
 tools/lib/bpf/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/lib/bpf/Makefile b/tools/lib/bpf/Makefile
index f43249696d9f..70cb44efe8cb 100644
--- a/tools/lib/bpf/Makefile
+++ b/tools/lib/bpf/Makefile
@@ -98,7 +98,7 @@ PC_FILE		= libbpf.pc
 ifdef EXTRA_CFLAGS
   CFLAGS := $(EXTRA_CFLAGS)
 else
-  CFLAGS := -g -Wall
+  CFLAGS := -g -O2
 endif
 
 # Append required CFLAGS
-- 
2.24.1

Re: [PATCH bpf-next 2/3] libbpf: compile libbpf under -O2 level by default and catch extra warnings

From: Martin KaFai Lau <hidden>
Date: 2020-09-30 00:03:51

On Tue, Sep 29, 2020 at 03:06:03PM -0700, Andrii Nakryiko wrote:
For some reason compiler doesn't complain about uninitialized variable, fixed
in previous patch, if libbpf is compiled without -O2 optimization level. So do
compile it with -O2 and never let similar issue slip by again. -Wall is added
unconditionally, so no need to specify it again.
Acked-by: Martin KaFai Lau <redacted>

Re: [PATCH bpf-next 1/3] libbpf: fix uninitialized variable in btf_parse_type_sec

From: Martin KaFai Lau <hidden>
Date: 2020-09-30 00:01:59

On Tue, Sep 29, 2020 at 03:06:02PM -0700, Andrii Nakryiko wrote:
Fix obvious unitialized variable use that wasn't reported by compiler. libbpf
Makefile changes to catch such errors are added separately.
Acked-by: Martin KaFai Lau <redacted>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help