Message ID | 20250412180831.3252963-1-chenyuan0y@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | cpufreq: scmi: Fix possible null pointer dereference | expand |
On Sat, Apr 12, 2025 at 01:08:31PM -0500, Chenyuan Yang wrote: > Check if policy is NULL before dereferencing it. > > This is similar to the commit cf7de25878a1 > ("cppc_cpufreq: Fix possible null pointer dereference"). > > This is found by our static analysis tool KNighter. > > Signed-off-by: Chenyuan Yang <chenyuan0y@gmail.com> > Fixes: 99d6bdf33877 ("cpufreq: add support for CPU DVFS based on SCMI message protocol") Henry Martin already fixed this in commit 484d3f15cc6c ("cpufreq: scmi: Fix null-ptr-deref in scmi_cpufreq_get_rate()"). regards, dan carpenter
On Sat, Apr 12, 2025 at 1:31 PM Dan Carpenter <dan.carpenter@linaro.org> wrote: > > On Sat, Apr 12, 2025 at 01:08:31PM -0500, Chenyuan Yang wrote: > > Check if policy is NULL before dereferencing it. > > > > This is similar to the commit cf7de25878a1 > > ("cppc_cpufreq: Fix possible null pointer dereference"). > > > > This is found by our static analysis tool KNighter. > > > > Signed-off-by: Chenyuan Yang <chenyuan0y@gmail.com> > > Fixes: 99d6bdf33877 ("cpufreq: add support for CPU DVFS based on SCMI message protocol") > > Henry Martin already fixed this in commit 484d3f15cc6c ("cpufreq: scmi: > Fix null-ptr-deref in scmi_cpufreq_get_rate()"). Thanks so much for pointing this out! It is good to hear that there is already a fix. > regards, > dan carpenter -Chenyuan
diff --git a/drivers/cpufreq/scmi-cpufreq.c b/drivers/cpufreq/scmi-cpufreq.c index c310aeebc8f3..ee916ce9b897 100644 --- a/drivers/cpufreq/scmi-cpufreq.c +++ b/drivers/cpufreq/scmi-cpufreq.c @@ -38,10 +38,14 @@ static struct cpufreq_driver scmi_cpufreq_driver; static unsigned int scmi_cpufreq_get_rate(unsigned int cpu) { struct cpufreq_policy *policy = cpufreq_cpu_get_raw(cpu); - struct scmi_data *priv = policy->driver_data; + struct scmi_data *priv; unsigned long rate; int ret; + if (!policy) + return 0; + priv = policy->driver_data; + ret = perf_ops->freq_get(ph, priv->domain_id, &rate, false); if (ret) return 0;
Check if policy is NULL before dereferencing it. This is similar to the commit cf7de25878a1 ("cppc_cpufreq: Fix possible null pointer dereference"). This is found by our static analysis tool KNighter. Signed-off-by: Chenyuan Yang <chenyuan0y@gmail.com> Fixes: 99d6bdf33877 ("cpufreq: add support for CPU DVFS based on SCMI message protocol") --- drivers/cpufreq/scmi-cpufreq.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)