[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190529011426.1328736-5-andriin@fb.com>
Date: Tue, 28 May 2019 18:14:21 -0700
From: Andrii Nakryiko <andriin@...com>
To: <andrii.nakryiko@...il.com>, <netdev@...r.kernel.org>,
<bpf@...r.kernel.org>, <ast@...com>, <daniel@...earbox.net>,
<kernel-team@...com>
CC: Andrii Nakryiko <andriin@...com>
Subject: [PATCH bpf-next 4/9] libbpf: check map name retrieved from ELF
Validate there was no error retrieving symbol name corresponding to
a BPF map.
Signed-off-by: Andrii Nakryiko <andriin@...com>
---
tools/lib/bpf/libbpf.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c
index c98f9942fba4..7abe71ee507a 100644
--- a/tools/lib/bpf/libbpf.c
+++ b/tools/lib/bpf/libbpf.c
@@ -920,6 +920,11 @@ bpf_object__init_maps(struct bpf_object *obj, int flags)
map_name = elf_strptr(obj->efile.elf,
obj->efile.strtabidx,
sym.st_name);
+ if (!map_name) {
+ pr_warning("failed to get map #%d name sym string for obj %s\n",
+ map_idx, obj->path);
+ return -LIBBPF_ERRNO__FORMAT;
+ }
obj->maps[map_idx].libbpf_type = LIBBPF_MAP_UNSPEC;
obj->maps[map_idx].offset = sym.st_value;
--
2.17.1
Powered by blists - more mailing lists