From 28c4ef2b2e57cb13bf784251e4abbf942d37b4ce Mon Sep 17 00:00:00 2001 From: Cheng-Yang Chou Date: Sun, 8 Mar 2026 01:26:28 +0800 Subject: [PATCH] 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 --- kernel/sched/ext.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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(); -- 2.47.3