]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
sched_ext: Fix scx_kick_pseqs corruption on concurrent scheduler loads
authorAndrea Righi <arighi@nvidia.com>
Mon, 13 Oct 2025 20:36:34 +0000 (22:36 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 1 Dec 2025 10:46:08 +0000 (11:46 +0100)
commit18228a70a01a49e34fe599ccacc88a2bca70dce2
treec6c12ab465b7553608820a6e8d72587983833fd7
parentf1ad80fdf97b6ef1d2ae8271cb10eb01c3a561c7
sched_ext: Fix scx_kick_pseqs corruption on concurrent scheduler loads

commit 05e63305c85c88141500f0a2fb02afcfba9396e1 upstream.

If we load a BPF scheduler while another scheduler is already running,
alloc_kick_pseqs() would be called again, overwriting the previously
allocated arrays.

Fix by moving the alloc_kick_pseqs() call after the scx_enable_state()
check, ensuring that the arrays are only allocated when a scheduler can
actually be loaded.

Fixes: 14c1da3895a11 ("sched_ext: Allocate scx_kick_cpus_pnt_seqs lazily using kvzalloc()")
Signed-off-by: Andrea Righi <arighi@nvidia.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
kernel/sched/ext.c