From: Tejun Heo Date: Fri, 10 Apr 2026 17:54:06 +0000 (-1000) Subject: sched_ext: Track @p's rq lock across set_cpus_allowed_scx -> ops.set_cpumask X-Git-Tag: v7.1-rc1~162^2~11 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9fb457074f6d118b30458624223abef985725a88;p=thirdparty%2Flinux.git sched_ext: Track @p's rq lock across set_cpus_allowed_scx -> ops.set_cpumask The SCX_CALL_OP_TASK call site passes rq=NULL incorrectly, leaving scx_locked_rq() unset. Pass task_rq(p) instead so update_locked_rq() reflects reality. v2: Add Fixes: tag (Andrea Righi). Fixes: 18853ba782be ("sched_ext: Track currently locked rq") Signed-off-by: Tejun Heo Reviewed-by: Andrea Righi --- diff --git a/kernel/sched/ext.c b/kernel/sched/ext.c index 11a8f936ecc14..aee48b34aefad 100644 --- a/kernel/sched/ext.c +++ b/kernel/sched/ext.c @@ -3360,7 +3360,7 @@ static void set_cpus_allowed_scx(struct task_struct *p, * designation pointless. Cast it away when calling the operation. */ if (SCX_HAS_OP(sch, set_cpumask)) - SCX_CALL_OP_TASK(sch, SCX_KF_REST, set_cpumask, NULL, + SCX_CALL_OP_TASK(sch, SCX_KF_REST, set_cpumask, task_rq(p), p, (struct cpumask *)p->cpus_ptr); }