mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 01:24:47 +01:00
selftests/bpf: Fix a memory leak in xdp_flowtable test
test_progs run with ASAN reported [1]:
==126==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 32 byte(s) in 1 object(s) allocated from:
#0 0x7f1ff3cfa340 in calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77
#1 0x5610c15bb520 in bpf_program_attach_fd /codebuild/output/src685977285/src/actions-runner/_work/vmtest/vmtest/src/tools/lib/bpf/libbpf.c:13164
#2 0x5610c15bb740 in bpf_program__attach_xdp /codebuild/output/src685977285/src/actions-runner/_work/vmtest/vmtest/src/tools/lib/bpf/libbpf.c:13204
#3 0x5610c14f91d3 in test_xdp_flowtable /codebuild/output/src685977285/src/actions-runner/_work/vmtest/vmtest/src/tools/testing/selftests/bpf/prog_tests/xdp_flowtable.c:138
#4 0x5610c1533566 in run_one_test /codebuild/output/src685977285/src/actions-runner/_work/vmtest/vmtest/src/tools/testing/selftests/bpf/test_progs.c:1406
#5 0x5610c1537fb0 in main /codebuild/output/src685977285/src/actions-runner/_work/vmtest/vmtest/src/tools/testing/selftests/bpf/test_progs.c:2097
#6 0x7f1ff25df1c9 (/lib/x86_64-linux-gnu/libc.so.6+0x2a1c9) (BuildId: 8e9fd827446c24067541ac5390e6f527fb5947bb)
#7 0x7f1ff25df28a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2a28a) (BuildId: 8e9fd827446c24067541ac5390e6f527fb5947bb)
#8 0x5610c0bd3180 in _start (/tmp/work/vmtest/vmtest/selftests/bpf/test_progs+0x593180) (BuildId: cdf9f103f42307dc0a2cd6cfc8afcbc1366cf8bd)
Fix by properly destroying bpf_link on exit in xdp_flowtable test.
[1] https://github.com/kernel-patches/vmtest/actions/runs/22361085418/job/64716490680
Signed-off-by: Ihor Solodrai <ihor.solodrai@linux.dev>
Reviewed-by: Subbaraya Sundeep <sbhatta@marvell.com>
Link: https://lore.kernel.org/r/20260225003351.465104-1-ihor.solodrai@linux.dev
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
This commit is contained in:
parent
b7bf516c3e
commit
60e3cbef35
1 changed files with 2 additions and 1 deletions
|
|
@ -67,7 +67,7 @@ void test_xdp_flowtable(void)
|
|||
struct nstoken *tok = NULL;
|
||||
int iifindex, stats_fd;
|
||||
__u32 value, key = 0;
|
||||
struct bpf_link *link;
|
||||
struct bpf_link *link = NULL;
|
||||
|
||||
if (SYS_NOFAIL("nft -v")) {
|
||||
fprintf(stdout, "Missing required nft tool\n");
|
||||
|
|
@ -160,6 +160,7 @@ void test_xdp_flowtable(void)
|
|||
|
||||
ASSERT_GE(value, N_PACKETS - 2, "bpf_xdp_flow_lookup failed");
|
||||
out:
|
||||
bpf_link__destroy(link);
|
||||
xdp_flowtable__destroy(skel);
|
||||
if (tok)
|
||||
close_netns(tok);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue