Merge branch 'bpf: Avoid unnecessary deadlock detection and failure in task storage'
authorAlexei Starovoitov <ast@kernel.org>
Wed, 26 Oct 2022 06:11:47 +0000 (23:11 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Wed, 26 Oct 2022 06:11:47 +0000 (23:11 -0700)
commitfdf457871e7c070416403efd1533ba49adc20a87
treefdf22af5765c1f3c2e0c31b61f25e4e249459a20
parentf3c51fe02c55bd944662714e5b91b96dc271ad9f
parent387b532138eed5b12e1afa68cafb6a389507310f
Merge branch 'bpf: Avoid unnecessary deadlock detection and failure in task storage'

Martin KaFai Lau says:

====================

From: Martin KaFai Lau <martin.lau@kernel.org>

The commit bc235cdb423a ("bpf: Prevent deadlock from recursive bpf_task_storage_[get|delete]")
added deadlock detection to avoid a tracing program from recurring
on the bpf_task_storage_{get,delete}() helpers.  These helpers acquire
a spin lock and it will lead to deadlock.

It is unnecessary for the bpf_lsm and bpf_iter programs which do
not recur.  The situation is the same as the existing
bpf_pid_task_storage_{lookup,delete}_elem() which are
used in the syscall and they also do not have deadlock detection.

This set is to add new bpf_task_storage_{get,delete}() helper proto
without the deadlock detection.  The set also removes the prog->active
check from the bpf_lsm and bpf_iter program.  Please see the individual
patch for details.
====================

Signed-off-by: Alexei Starovoitov <ast@kernel.org>