summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2024-11-15 18:59:51 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2024-11-15 18:59:51 +0100
commitd79944b0948c3a5e80229606e36281d6ef746b21 (patch)
treef869a8847183047bf85cec89400d1af245b00876
parentMerge tag 'for-6.12-rc7-tag' of git://git.kernel.org/pub/scm/linux/kernel/git... (diff)
parentsched_ext: ops.cpu_acquire() should be called with SCX_KF_REST (diff)
downloadlinux-d79944b0948c3a5e80229606e36281d6ef746b21.tar.xz
linux-d79944b0948c3a5e80229606e36281d6ef746b21.zip
Merge tag 'sched_ext-for-6.12-rc7-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext
Pull sched_ext fix from Tejun Heo: "One more fix for v6.12-rc7 ops.cpu_acquire() was being invoked with the wrong kfunc mask allowing the operation to call kfuncs which shouldn't be allowed. Fix it by using SCX_KF_REST instead, which is trivial and low risk" * tag 'sched_ext-for-6.12-rc7-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext: sched_ext: ops.cpu_acquire() should be called with SCX_KF_REST
-rw-r--r--kernel/sched/ext.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/sched/ext.c b/kernel/sched/ext.c
index 51b7e04879d7..751d73d500e5 100644
--- a/kernel/sched/ext.c
+++ b/kernel/sched/ext.c
@@ -2645,7 +2645,7 @@ static int balance_one(struct rq *rq, struct task_struct *prev)
* emitted in scx_next_task_picked().
*/
if (SCX_HAS_OP(cpu_acquire))
- SCX_CALL_OP(0, cpu_acquire, cpu_of(rq), NULL);
+ SCX_CALL_OP(SCX_KF_REST, cpu_acquire, cpu_of(rq), NULL);
rq->scx.cpu_released = false;
}