mirror of
https://github.com/torvalds/linux.git
synced 2026-05-26 16:12:59 +02:00
sched_ext: INIT_LIST_HEAD() &sch->all in scx_alloc_and_add_sched()
On scx_link_sched() error paths (parent disabled, hash insert failure),
&sch->all is never added to scx_sched_all. The cleanup path runs
scx_unlink_sched() unconditionally, which calls list_del_rcu(&sch->all) on a
list_head that was never initialized triggering a corruption warning.
Initialize &sch->all.
Fixes: 54be8de423 ("sched_ext: Factor out scx_link_sched() and scx_unlink_sched()")
Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
parent
39e25a2100
commit
b273b75b8d
|
|
@ -6635,6 +6635,7 @@ static struct scx_sched *scx_alloc_and_add_sched(struct sched_ext_ops *ops,
|
|||
rcu_assign_pointer(ops->priv, sch);
|
||||
|
||||
sch->kobj.kset = scx_kset;
|
||||
INIT_LIST_HEAD(&sch->all);
|
||||
|
||||
#ifdef CONFIG_EXT_SUB_SCHED
|
||||
char *buf = kzalloc(PATH_MAX, GFP_KERNEL);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user