All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrii Nakryiko <andrii@kernel.org>
To: <bpf@vger.kernel.org>, <ast@kernel.org>, <daniel@iogearbox.net>
Cc: <andrii@kernel.org>, <kernel-team@fb.com>
Subject: [PATCH v4 bpf-next 0/9] Fix leaks in libbpf and selftests
Date: Sun, 7 Nov 2021 08:55:12 -0800	[thread overview]
Message-ID: <20211107165521.9240-1-andrii@kernel.org> (raw)

Fix all the memory leaks reported by ASAN. All but one are just improper
resource clean up in selftests. But one memory leak was discovered in libbpf,
leaving inner map's name leaked.

First patch fixes selftests' Makefile by passing through SAN_CFLAGS to linker.
Without that compiling with SAN_CFLAGS=-fsanitize=address kept failing.

Running selftests under ASAN in BPF CI is the next step, we just need to make
sure all the necessary libraries (libasan and liblsan) are installed on the
host and inside the VM. Would be great to get some help with that, but for now
make sure that test_progs run is clean from leak sanitizer errors.

v3->v4:
  - rebase on latest bpf-next;
v2->v3:
  - fix per-cpu array memory leaks in btf_iter.c selftests (Hengqi);
v1->v2:
  - call bpf_map__destroy() conditionally if map->inner_map is present.

Andrii Nakryiko (9):
  selftests/bpf: pass sanitizer flags to linker through LDFLAGS
  libbpf: free up resources used by inner map definition
  selftests/bpf: fix memory leaks in btf_type_c_dump() helper
  selftests/bpf: free per-cpu values array in bpf_iter selftest
  selftests/bpf: free inner strings index in btf selftest
  selftests/bpf: clean up btf and btf_dump in dump_datasec test
  selftests/bpf: avoid duplicate btf__parse() call
  selftests/bpf: destroy XDP link correctly
  selftests/bpf: fix bpf_object leak in skb_ctx selftest

 tools/lib/bpf/libbpf.c                                   | 5 ++++-
 tools/testing/selftests/bpf/Makefile                     | 1 +
 tools/testing/selftests/bpf/btf_helpers.c                | 9 +++++++--
 tools/testing/selftests/bpf/prog_tests/bpf_iter.c        | 8 ++++----
 tools/testing/selftests/bpf/prog_tests/btf.c             | 6 ++----
 tools/testing/selftests/bpf/prog_tests/btf_dump.c        | 8 ++++++--
 tools/testing/selftests/bpf/prog_tests/core_reloc.c      | 2 +-
 .../testing/selftests/bpf/prog_tests/migrate_reuseport.c | 4 ++--
 tools/testing/selftests/bpf/prog_tests/skb_ctx.c         | 2 ++
 9 files changed, 29 insertions(+), 16 deletions(-)

-- 
2.30.2


             reply	other threads:[~2021-11-07 16:55 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-07 16:55 Andrii Nakryiko [this message]
2021-11-07 16:55 ` [PATCH v4 bpf-next 1/9] selftests/bpf: pass sanitizer flags to linker through LDFLAGS Andrii Nakryiko
2021-11-07 16:55 ` [PATCH v4 bpf-next 2/9] libbpf: free up resources used by inner map definition Andrii Nakryiko
2021-11-07 16:55 ` [PATCH v4 bpf-next 3/9] selftests/bpf: fix memory leaks in btf_type_c_dump() helper Andrii Nakryiko
2021-11-07 16:55 ` [PATCH v4 bpf-next 4/9] selftests/bpf: free per-cpu values array in bpf_iter selftest Andrii Nakryiko
2021-11-07 16:55 ` [PATCH v4 bpf-next 5/9] selftests/bpf: free inner strings index in btf selftest Andrii Nakryiko
2021-11-07 16:55 ` [PATCH v4 bpf-next 6/9] selftests/bpf: clean up btf and btf_dump in dump_datasec test Andrii Nakryiko
2021-11-07 16:55 ` [PATCH v4 bpf-next 7/9] selftests/bpf: avoid duplicate btf__parse() call Andrii Nakryiko
2021-11-07 16:55 ` [PATCH v4 bpf-next 8/9] selftests/bpf: destroy XDP link correctly Andrii Nakryiko
2021-11-07 16:55 ` [PATCH v4 bpf-next 9/9] selftests/bpf: fix bpf_object leak in skb_ctx selftest Andrii Nakryiko
2021-11-07 17:15 ` [PATCH v4 bpf-next 0/9] Fix leaks in libbpf and selftests Alexei Starovoitov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211107165521.9240-1-andrii@kernel.org \
    --to=andrii@kernel.org \
    --cc=ast@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=kernel-team@fb.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.