diff options
| author | Martin KaFai Lau <[email protected]> | 2022-10-25 18:45:16 +0000 |
|---|---|---|
| committer | Alexei Starovoitov <[email protected]> | 2022-10-26 06:11:46 +0000 |
| commit | 271de525e1d7f564e88a9d212c50998b49a54476 (patch) | |
| tree | 556578ff32ceed2a81bfc0333a041c5fd789ff5c /scripts/bpf_doc.py | |
| parent | libbpf: Btf dedup identical struct test needs check for nested structs/arrays (diff) | |
| download | kernel-271de525e1d7f564e88a9d212c50998b49a54476.tar.gz kernel-271de525e1d7f564e88a9d212c50998b49a54476.zip | |
bpf: Remove prog->active check for bpf_lsm and bpf_iter
The commit 64696c40d03c ("bpf: Add __bpf_prog_{enter,exit}_struct_ops for struct_ops trampoline")
removed prog->active check for struct_ops prog. The bpf_lsm
and bpf_iter is also using trampoline. Like struct_ops, the bpf_lsm
and bpf_iter have fixed hooks for the prog to attach. The
kernel does not call the same hook in a recursive way.
This patch also removes the prog->active check for
bpf_lsm and bpf_iter.
A later patch has a test to reproduce the recursion issue
for a sleepable bpf_lsm program.
This patch appends the '_recur' naming to the existing
enter and exit functions that track the prog->active counter.
New __bpf_prog_{enter,exit}[_sleepable] function are
added to skip the prog->active tracking. The '_struct_ops'
version is also removed.
It also moves the decision on picking the enter and exit function to
the new bpf_trampoline_{enter,exit}(). It returns the '_recur' ones
for all tracing progs to use. For bpf_lsm, bpf_iter,
struct_ops (no prog->active tracking after 64696c40d03c), and
bpf_lsm_cgroup (no prog->active tracking after 69fd337a975c7),
it will return the functions that don't track the prog->active.
Signed-off-by: Martin KaFai Lau <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Alexei Starovoitov <[email protected]>
Diffstat (limited to 'scripts/bpf_doc.py')
0 files changed, 0 insertions, 0 deletions
