Add necessary infra to build selftests with ASAN (or any other sanitizer). Fix
a bunch of found memory leaks and other memory access issues.
v1->v2:
- don't add ASAN flavor, but allow extra flags for build (Alexei);
- fix few more found issues, which somehow were missed first time.
Andrii Nakryiko (11):
selftests/bpf: ensure test flavors use correct skeletons
selftests/bpf: add SAN_CFLAGS param to selftests build to allow
sanitizers
selftests/bpf: convert test_hashmap into test_progs test
libbpf: fix memory leak and possible double-free in hashmap__clear
selftests/bpf: fix memory leak in test selector
selftests/bpf: fix memory leak in extract_build_id()
selftests/bpf: fix invalid memory reads in core_relo selftest
libbpf: fix huge memory leak in libbpf_find_vmlinux_btf_id()
selftests/bpf: disable ASAN instrumentation for mmap()'ed memory read
selftests/bpf: fix bpf_link leak in ns_current_pid_tgid selftest
selftests/bpf: add runqslower binary to .gitignore
tools/lib/bpf/hashmap.c | 7 +
tools/lib/bpf/libbpf.c | 5 +-
tools/testing/selftests/bpf/.gitignore | 4 +-
tools/testing/selftests/bpf/Makefile | 11 +-
.../selftests/bpf/prog_tests/core_reloc.c | 2 +-
.../{test_hashmap.c => prog_tests/hashmap.c} | 280 +++++++++---------
.../bpf/prog_tests/ns_current_pid_tgid.c | 5 +-
.../selftests/bpf/prog_tests/perf_buffer.c | 5 +
tools/testing/selftests/bpf/test_progs.c | 21 +-
9 files changed, 181 insertions(+), 159 deletions(-)
rename tools/testing/selftests/bpf/{test_hashmap.c => prog_tests/hashmap.c}
(53%)
--
2.24.1