[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAPhsuW4aBGtsmq3wKyk1rsBPAkFAQPyMU5gTxoNTNmK42CFs_A@mail.gmail.com>
Date: Wed, 29 May 2019 10:11:14 -0700
From: Song Liu <liu.song.a23@...il.com>
To: Andrii Nakryiko <andriin@...com>
Cc: Andrii Nakryiko <andrii.nakryiko@...il.com>,
Networking <netdev@...r.kernel.org>, bpf <bpf@...r.kernel.org>,
Alexei Starovoitov <ast@...com>,
Daniel Borkmann <daniel@...earbox.net>,
Kernel Team <kernel-team@...com>
Subject: Re: [PATCH bpf-next 4/9] libbpf: check map name retrieved from ELF
On Tue, May 28, 2019 at 6:15 PM Andrii Nakryiko <andriin@...com> wrote:
>
> Validate there was no error retrieving symbol name corresponding to
> a BPF map.
>
> Signed-off-by: Andrii Nakryiko <andriin@...com>
Acked-by: Song Liu <songliubraving@...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