]> git.baikalelectronics.ru Git - kernel.git/commit
bpftool: Fix a leak of btf object
authorMartin KaFai Lau <kafai@fb.com>
Wed, 15 Jan 2020 23:00:19 +0000 (15:00 -0800)
committerAlexei Starovoitov <ast@kernel.org>
Wed, 15 Jan 2020 23:23:27 +0000 (15:23 -0800)
commit9711958643fd80d4551866748be0a04e82358c33
tree159843e4663abd55fb9170ea1bd833bf1ba64dcb
parent57418e79321f7f230a473a031438c8cb875a974f
bpftool: Fix a leak of btf object

When testing a map has btf or not, maps_have_btf() tests it by actually
getting a btf_fd from sys_bpf(BPF_BTF_GET_FD_BY_ID). However, it
forgot to btf__free() it.

In maps_have_btf() stage, there is no need to test it by really
calling sys_bpf(BPF_BTF_GET_FD_BY_ID). Testing non zero
info.btf_id is good enough.

Also, the err_close case is unnecessary, and also causes double
close() because the calling func do_dump() will close() all fds again.

Fixes: f371215a1ed1 ("bpftool: Match maps by name")
Signed-off-by: Martin KaFai Lau <kafai@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Andrii Nakryiko <andriin@fb.com>
Cc: Paul Chaignon <paul.chaignon@orange.com>
Link: https://lore.kernel.org/bpf/20200115230019.1101352-1-kafai@fb.com
tools/bpf/bpftool/map.c