aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/tools/lib
diff options
context:
space:
mode:
authorYonghong Song <yhs@fb.com>2019-03-11 22:21:09 -0700
committerDaniel Borkmann <daniel@iogearbox.net>2019-03-12 21:55:54 +0100
commitd6f1837107c00fa7b2fdb606acf65b33b455dbfd (patch)
treeff0507cdc1d93d0da8b2ef971ffdfbc84c1fa363 /tools/lib
parentlibbpf: handle BTF parsing and loading properly (diff)
downloadwireguard-linux-d6f1837107c00fa7b2fdb606acf65b33b455dbfd.tar.xz
wireguard-linux-d6f1837107c00fa7b2fdb606acf65b33b455dbfd.zip
selftests/bpf: fix segfault of test_progs when prog loading failed
The test_progs subtests, test_spin_lock() and test_map_lock(), requires BTF present to run successfully. Currently, when BTF failed to load, test_progs will segfault, $ ./test_progs ... 12: (bf) r1 = r8 13: (85) call bpf_spin_lock#93 map 'hash_map' has to have BTF in order to use bpf_spin_lock libbpf: -- END LOG -- libbpf: failed to load program 'map_lock_demo' libbpf: failed to load object './test_map_lock.o' test_map_lock:bpf_prog_load errno 13 Segmentation fault The segfault is caused by uninitialized variable "obj", which is used in bpf_object__close(obj), when bpf prog failed to load. Initializing variable "obj" to NULL in two occasions fixed the problem. $ ./test_progs ... Summary: 219 PASSED, 2 FAILED Fixes: b4d4556c3266 ("selftests/bpf: add bpf_spin_lock verifier tests") Fixes: ba72a7b4badb ("selftests/bpf: test for BPF_F_LOCK") Reported-by: Daniel Borkmann <daniel@iogearbox.net> Signed-off-by: Yonghong Song <yhs@fb.com> Acked-by: Song Liu <songliubraving@fb.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Diffstat (limited to 'tools/lib')
0 files changed, 0 insertions, 0 deletions