]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
bpf: copy BPF token from main program to subprograms
authorEduard Zingerman <eddyz87@gmail.com>
Wed, 15 Apr 2026 20:03:55 +0000 (13:03 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Wed, 15 Apr 2026 23:46:47 +0000 (16:46 -0700)
commit0251e40c48299243c12f7cf4a6046f080af206cb
tree4cdae5bda82bbb0bc0941b6bb0568fc65f1c7bee
parentd3fdb3db13a209dc8005b301130538c705fda579
bpf: copy BPF token from main program to subprograms

bpf_jit_subprogs() copies various fields from the main program's aux to
each subprogram's aux, but omits the BPF token. This causes
bpf_prog_kallsyms_add() to fail for subprograms loaded via BPF token,
as bpf_token_capable() falls back to capable() in init_user_ns when
token is NULL.

Copy prog->aux->token to func[i]->aux->token so that subprograms
inherit the same capability delegation as the main program.

Fixes: d79a35497547 ("bpf: Consistently use BPF token throughout BPF verifier logic")
Signed-off-by: Tao Chen <ctao@meta.com>
Signed-off-by: Eduard Zingerman <eddyz87@gmail.com>
Link: https://lore.kernel.org/r/20260415-subprog-token-fix-v4-1-9bd000e8b068@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
kernel/bpf/fixups.c