mbox series

[v2,bpf-next,00/11] Fix libbpf and selftest issues detected by ASAN

Message ID 20200429012111.277390-1-andriin@fb.com
Headers show
Series Fix libbpf and selftest issues detected by ASAN | expand

Message

Andrii Nakryiko April 29, 2020, 1:21 a.m. UTC
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%)

Comments

Alexei Starovoitov April 29, 2020, 2:56 a.m. UTC | #1
On Tue, Apr 28, 2020 at 06:21:00PM -0700, Andrii Nakryiko wrote:
> 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.

Applied, Thanks