sched_ext: 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. -----BEGIN PGP SIGNATURE----- iIQEABYKACwWIQTfIjM1kS57o3GsC/uxYfJx3gVYGQUCZzamXw4cdGpAa2VybmVs Lm9yZwAKCRCxYfJx3gVYGRReAP4/JQ1mKkJv+9nTZkW9OcFFHGVVhrprOUEEFk5j pmHwPAD8DTBMMS/BCQOoXDdiB9uU7ut6M8VdsIj1jmJkMja+eQI= =942J -----END PGP SIGNATURE----- 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
This commit is contained in:
commit
d79944b094
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user