mirror of
https://github.com/torvalds/linux.git
synced 2024-11-21 19:41:42 +00:00
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().
|
* emitted in scx_next_task_picked().
|
||||||
*/
|
*/
|
||||||
if (SCX_HAS_OP(cpu_acquire))
|
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;
|
rq->scx.cpu_released = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user