summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorCheng-Yang Chou <yphbchou0911@gmail.com>2026-03-08 01:26:28 +0800
committerTejun Heo <tj@kernel.org>2026-03-07 08:10:25 -1000
commit28c4ef2b2e57cb13bf784251e4abbf942d37b4ce (patch)
tree0d3a4346f0879a53b885b05912b293d1debb8168 /kernel
parentce897abc21b2d5e74981ff2b848f3a08a580d50a (diff)
downloadlinux-28c4ef2b2e57cb13bf784251e4abbf942d37b4ce.tar.gz
linux-28c4ef2b2e57cb13bf784251e4abbf942d37b4ce.zip
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 <yphbchou0911@gmail.com> Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/sched/ext.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/sched/ext.c b/kernel/sched/ext.c
index d5849ed4cd3e..f6bafcfe0b93 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();