diff options
| author | Tejun Heo <tj@kernel.org> | 2026-04-10 07:54:06 -1000 |
|---|---|---|
| committer | Tejun Heo <tj@kernel.org> | 2026-04-10 07:54:06 -1000 |
| commit | 9b5501d3c95924198914f3df920faae1594e68d5 (patch) | |
| tree | db801c136f8fe4a65f33cf071db3f6ec289350f1 /include/net/phy/git@git.tavy.me:linux.git | |
| parent | dcd47f27c01e795395379025525bfd47a99a91e1 (diff) | |
sched_ext: Drop TRACING access to select_cpu kfuncs
The select_cpu kfuncs - scx_bpf_select_cpu_dfl(), scx_bpf_select_cpu_and()
and __scx_bpf_select_cpu_and() - take task_rq_lock() internally. Exposing
them via scx_kfunc_set_idle to BPF_PROG_TYPE_TRACING is unsafe: arbitrary
tracing contexts (kprobes, tracepoints, fentry, LSM) may run with @p's
pi_lock state unknown.
Move them out of scx_kfunc_ids_idle into a new scx_kfunc_ids_select_cpu
set registered only for STRUCT_OPS and SYSCALL.
Extracted from a larger verifier-time kfunc context filter patch
originally written by Juntong Deng.
Original-patch-by: Juntong Deng <juntong.deng@outlook.com>
Cc: Cheng-Yang Chou <yphbchou0911@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Reviewed-by: Andrea Righi <arighi@nvidia.com>
Diffstat (limited to 'include/net/phy/git@git.tavy.me:linux.git')
0 files changed, 0 insertions, 0 deletions
