From: Cheng-Yang Chou Date: Sat, 7 Mar 2026 17:26:28 +0000 (+0800) Subject: sched_ext: Fix scx_bpf_reenqueue_local() silently reenqueuing nothing X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=28c4ef2b2e57cb13bf784251e4abbf942d37b4ce;p=thirdparty%2Fkernel%2Flinux.git sched_ext: Fix scx_bpf_reenqueue_local() silently reenqueuing nothing ffa7ae0724e4 ("sched_ext: Add reenq_flags plumbing to scx_bpf_dsq_reenq()") introduced task_should_reenq() as a filter inside reenq_local(), requiring SCX_REENQ_ANY to be set in order to match any task. scx_bpf_dsq_reenq() handles this correctly by converting a bare reenq_flags=0 to SCX_REENQ_ANY, but scx_bpf_reenqueue_local() was not updated and continued to call reenq_local() with 0, causing it to silently reenqueue zero tasks. Fix by passing SCX_REENQ_ANY directly. Fixes: ffa7ae0724e4 ("sched_ext: Add reenq_flags plumbing to scx_bpf_dsq_reenq()") Signed-off-by: Cheng-Yang Chou Signed-off-by: Tejun Heo --- diff --git a/kernel/sched/ext.c b/kernel/sched/ext.c index d5849ed4cd3e5..f6bafcfe0b93f 100644 --- a/kernel/sched/ext.c +++ b/kernel/sched/ext.c @@ -8121,7 +8121,7 @@ __bpf_kfunc u32 scx_bpf_reenqueue_local(const struct bpf_prog_aux *aux) rq = cpu_rq(smp_processor_id()); lockdep_assert_rq_held(rq); - return reenq_local(sch, rq, 0); + return reenq_local(sch, rq, SCX_REENQ_ANY); } __bpf_kfunc_end_defs();