diff options
author | Tengda Wu <wutengda@huaweicloud.com> | 2025-01-22 10:28:38 +0800 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2025-02-03 03:33:51 -0800 |
commit | a63a631c9b5cb25a1c17dd2cb18c63df91e978b1 (patch) | |
tree | 9e5906fa173a2f9a11e338fc7310a00cc09dbf8c /tools/lib/bpf/btf.c | |
parent | 2014c95afecee3e76ca4a56956a936e23283f05b (diff) |
selftests/bpf: Fix freplace_link segfault in tailcalls prog test
There are two bpf_link__destroy(freplace_link) calls in
test_tailcall_bpf2bpf_freplace(). After the first bpf_link__destroy()
is called, if the following bpf_map_{update,delete}_elem() throws an
exception, it will jump to the "out" label and call bpf_link__destroy()
again, causing double free and eventually leading to a segfault.
Fix it by directly resetting freplace_link to NULL after the first
bpf_link__destroy() call.
Fixes: 021611d33e78 ("selftests/bpf: Add test to verify tailcall and freplace restrictions")
Signed-off-by: Tengda Wu <wutengda@huaweicloud.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Reviewed-by: Leon Hwang <leon.hwang@linux.dev>
Link: https://lore.kernel.org/bpf/20250122022838.1079157-1-wutengda@huaweicloud.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'tools/lib/bpf/btf.c')
0 files changed, 0 insertions, 0 deletions