[PATCH bpf-next 0/2] bpf: Fix WARNING in bpf_tracing_link_release

From: Leon Hwang

Date: Tue Jul 21 2026 - 09:32:03 EST


The trampoline could be corrupted by the blindly
'tr->flags = BPF_TRAMP_F_TAIL_CALL_CTX' in verifier.

1. A fexit attached to a tail_call_reachable prog.
2. Another fexit loaded with the same tail_call_reachable prog target.
3. Close the first fexit link.

[ 3.410719] WARNING: kernel/bpf/syscall.c:3551 at bpf_tracing_link_release+0x53/0x60, CPU#1: test_progs/98
...
[ 3.428793] bpf_link_free+0x58/0x130
[ 3.429293] bpf_link_release+0x23/0x30

Fix the warning by updating 'tr->flags' with '|=' and lock.

Leon Hwang (2):
bpf: Fix WARNING in bpf_tracing_link_release
selftests/bpf: Verify no warning when close fexit link

include/linux/bpf.h | 2 +
kernel/bpf/trampoline.c | 7 +++
kernel/bpf/verifier.c | 2 +-
.../selftests/bpf/prog_tests/tailcalls.c | 51 +++++++++++++++++++
4 files changed, 61 insertions(+), 1 deletion(-)

--
2.55.0