mirror of
https://github.com/torvalds/linux.git
synced 2026-09-22 12:44:03 +02:00
sched_ext: Fix exit_task leak on fork failure during enable
scx_fork() initializes tasks when scx_init_task_enabled is set, but
scx_cancel_fork() only exits them when scx_enabled() is true. A fork
that fails in the enable window (between releasing scx_fork_rwsem and
setting __scx_enabled) runs ops.init_task() but never ops.exit_task().
Gate scx_cancel_fork() on scx_init_task_enabled.
Fixes: 4269c603cc ("sched_ext: Enable scx_ops_init_task() separately")
Cc: stable@vger.kernel.org # v6.12+
Signed-off-by: fangqiurong <fangqiurong@kylinos.cn>
Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
parent
1d0a73dd0c
commit
03506edca6
|
|
@ -4163,7 +4163,7 @@ void scx_post_fork(struct task_struct *p)
|
|||
|
||||
void scx_cancel_fork(struct task_struct *p)
|
||||
{
|
||||
if (scx_enabled()) {
|
||||
if (scx_init_task_enabled) {
|
||||
struct rq *rq;
|
||||
struct rq_flags rf;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user