diff options
author | Alexei Starovoitov <ast@kernel.org> | 2024-02-05 19:58:47 -0800 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2024-02-05 19:58:47 -0800 |
commit | 8244ab509f89d63941d5ee207967c5a3e00bb493 (patch) | |
tree | b0dda80da2bdd867ad47d5d108bbea0e1e5f822c /tools/testing/selftests/bpf/prog_tests/rcu_read_lock.c | |
parent | 2d9a925d0fbf0dae99af148adaf4f5cadf1be5e0 (diff) | |
parent | e8699c4ff85baedcf40f33db816cc487cee39397 (diff) |
Merge branch 'enable-static-subprog-calls-in-spin-lock-critical-sections'
Kumar Kartikeya Dwivedi says:
====================
Enable static subprog calls in spin lock critical sections
This set allows a BPF program to make a call to a static subprog within
a bpf_spin_lock critical section. This problem has been hit in sched-ext
and ghOSt [0] as well, and is mostly an annoyance which is worked around
by inling the static subprog into the critical section.
In case of sched-ext, there are a lot of other helper/kfunc calls that
need to be allow listed for the support to be complete, but a separate
follow up will deal with that.
Unlike static subprogs, global subprogs cannot be allowed yet as the
verifier will not explore their body when encountering a call
instruction for them. Therefore, we would need an alternative approach
(some sort of function summarization to ensure a lock is never taken
from a global subprog and all its callees).
[0]: https://lore.kernel.org/bpf/bd173bf2-dea6-3e0e-4176-4a9256a9a056@google.com
Changelog:
----------
v1 -> v2
v1: https://lore.kernel.org/bpf/20240204120206.796412-1-memxor@gmail.com
* Indicate global function call in verifier error string (Yonghong, David)
* Add Acks from Yonghong, David
====================
Link: https://lore.kernel.org/r/20240204222349.938118-1-memxor@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'tools/testing/selftests/bpf/prog_tests/rcu_read_lock.c')
0 files changed, 0 insertions, 0 deletions