[PATCH] sched_ext: Fix use of uninitialized variable in scx_bpf_cpuperf_set()

Andrea Righi posted 1 patch 3 months, 1 week ago
kernel/sched/ext.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] sched_ext: Fix use of uninitialized variable in scx_bpf_cpuperf_set()
Posted by Andrea Righi 3 months, 1 week ago
scx_bpf_cpuperf_set() has a typo where it dereferences the local
variable @sch, instead of the global @scx_root pointer. Fix by
dereferencing the correct variable.

Fixes: 956f2b11a8a4f ("sched_ext: Drop kf_cpu_valid()")
Signed-off-by: Andrea Righi <arighi@nvidia.com>
---
 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 ecb251e883eab..1a019a7728fb2 100644
--- a/kernel/sched/ext.c
+++ b/kernel/sched/ext.c
@@ -6401,7 +6401,7 @@ __bpf_kfunc void scx_bpf_cpuperf_set(s32 cpu, u32 perf)
 
 	guard(rcu)();
 
-	sch = rcu_dereference(sch);
+	sch = rcu_dereference(scx_root);
 	if (unlikely(!sch))
 		return;
 
-- 
2.51.2
Re: [PATCH] sched_ext: Fix use of uninitialized variable in scx_bpf_cpuperf_set()
Posted by Tejun Heo 3 months, 1 week ago
Applied to sched_ext/for-6.18-fixes.

Thanks.
--
tejun
Re: [PATCH] sched_ext: Fix use of uninitialized variable in scx_bpf_cpuperf_set()
Posted by Christian Loehle 3 months, 1 week ago
On 10/29/25 13:08, Andrea Righi wrote:
> scx_bpf_cpuperf_set() has a typo where it dereferences the local
> variable @sch, instead of the global @scx_root pointer. Fix by
> dereferencing the correct variable.
> 
> Fixes: 956f2b11a8a4f ("sched_ext: Drop kf_cpu_valid()")
> Signed-off-by: Andrea Righi <arighi@nvidia.com>
> ---
>  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 ecb251e883eab..1a019a7728fb2 100644
> --- a/kernel/sched/ext.c
> +++ b/kernel/sched/ext.c
> @@ -6401,7 +6401,7 @@ __bpf_kfunc void scx_bpf_cpuperf_set(s32 cpu, u32 perf)
>  
>  	guard(rcu)();
>  
> -	sch = rcu_dereference(sch);
> +	sch = rcu_dereference(scx_root);
>  	if (unlikely(!sch))
>  		return;
>  

Reviewed-by: Christian Loehle <christian.loehle@arm.com>