diff options
author | Andrea Righi <arighi@nvidia.com> | 2025-04-22 10:26:32 +0200 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2025-04-22 09:27:50 -1000 |
commit | 18853ba782bef65fc81ef2b3370382e5b479c5eb (patch) | |
tree | 9501674581d46536f3c412fcf747a86737533ffc /lib/crypto/mpi/mpi-sub-ui.c | |
parent | bc08b15b54b8aadbc8a8f413271c07a3f4bead87 (diff) |
sched_ext: Track currently locked rq
Some kfuncs provided by sched_ext may need to operate on a struct rq,
but they can be invoked from various contexts, specifically, different
scx callbacks.
While some of these callbacks are invoked with a particular rq already
locked, others are not. This makes it impossible for a kfunc to reliably
determine whether it's safe to access a given rq, triggering potential
bugs or unsafe behaviors, see for example [1].
To address this, track the currently locked rq whenever a sched_ext
callback is invoked via SCX_CALL_OP*().
This allows kfuncs that need to operate on an arbitrary rq to retrieve
the currently locked one and apply the appropriate action as needed.
[1] https://lore.kernel.org/lkml/20250325140021.73570-1-arighi@nvidia.com/
Suggested-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Andrea Righi <arighi@nvidia.com>
Acked-by: Changwoo Min <changwoo@igalia.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'lib/crypto/mpi/mpi-sub-ui.c')
0 files changed, 0 insertions, 0 deletions