]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
bpf: Allow syscall bpf programs to call non-recur helpers
authorAmery Hung <ameryhung@gmail.com>
Wed, 30 Jul 2025 18:58:52 +0000 (11:58 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Sat, 2 Aug 2025 01:00:46 +0000 (18:00 -0700)
commit86de56487e5f0017ffd5930b0dbd9dda43048849
tree45ea2b0d616076c97fb0f4534ab9685bf799e55a
parenta6923c06a3b2e2c534ae28c53a7531e76cc95cfa
bpf: Allow syscall bpf programs to call non-recur helpers

Allow syscall programs to call non-recur helpers too since syscall bpf
programs runs in process context through bpf syscall, BPF_PROG_TEST_RUN,
and cannot run recursively.

bpf_task_storage_{get,set} have "_recur" versions that call trylock
instead of taking the lock directly to avoid deadlock when called by
bpf programs that run recursively. Currently, only bpf_lsm, bpf_iter,
struct_ops without private stack are allow to call the non-recur helpers
since they cannot be recursively called in another bpf program.

Signed-off-by: Amery Hung <ameryhung@gmail.com>
Reviewed-by: Emil Tsalapatis <emil@etsalapatis.com>
Link: https://lore.kernel.org/r/20250730185903.3574598-2-ameryhung@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
include/linux/bpf_verifier.h