From: Xiangyu Chen xiangyu.chen@windriver.com
[ Upstream commit 5493f9714e4cdaf0ee7cec15899a231400cb1a9f ]
cpufreq_cpu_get may return NULL. To avoid NULL-dereference check it and return in case of error.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
Signed-off-by: Anastasia Belova abelova@astralinux.ru Reviewed-by: Perry Yuan perry.yuan@amd.com Signed-off-by: Viresh Kumar viresh.kumar@linaro.org [Xiangyu: Bp to fix CVE: CVE-2024-50009 resolved minor conflicts] Signed-off-by: Xiangyu Chen xiangyu.chen@windriver.com --- drivers/cpufreq/amd-pstate.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/cpufreq/amd-pstate.c b/drivers/cpufreq/amd-pstate.c index 90dcf26f0973..106aef210003 100644 --- a/drivers/cpufreq/amd-pstate.c +++ b/drivers/cpufreq/amd-pstate.c @@ -309,9 +309,14 @@ static void amd_pstate_adjust_perf(unsigned int cpu, unsigned long max_perf, min_perf, des_perf, cap_perf, lowest_nonlinear_perf, max_freq; struct cpufreq_policy *policy = cpufreq_cpu_get(cpu); - struct amd_cpudata *cpudata = policy->driver_data; + struct amd_cpudata *cpudata; unsigned int target_freq;
+ if (!policy) + return; + + cpudata = policy->driver_data; + cap_perf = READ_ONCE(cpudata->highest_perf); lowest_nonlinear_perf = READ_ONCE(cpudata->lowest_nonlinear_perf); max_freq = READ_ONCE(cpudata->max_freq);
From: Xiangyu Chen xiangyu.chen@windriver.com
[ Upstream commit 5493f9714e4cdaf0ee7cec15899a231400cb1a9f ]
cpufreq_cpu_get may return NULL. To avoid NULL-dereference check it and return in case of error.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
Signed-off-by: Anastasia Belova abelova@astralinux.ru Reviewed-by: Perry Yuan perry.yuan@amd.com Signed-off-by: Viresh Kumar viresh.kumar@linaro.org [Xiangyu: Bp to fix CVE: CVE-2024-50009 resolved minor conflicts] Signed-off-by: Xiangyu Chen xiangyu.chen@windriver.com --- drivers/cpufreq/amd-pstate.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/cpufreq/amd-pstate.c b/drivers/cpufreq/amd-pstate.c index 8c16d67b98bf..0fc5495c935a 100644 --- a/drivers/cpufreq/amd-pstate.c +++ b/drivers/cpufreq/amd-pstate.c @@ -579,9 +579,14 @@ static void amd_pstate_adjust_perf(unsigned int cpu, unsigned long max_perf, min_perf, des_perf, cap_perf, lowest_nonlinear_perf, max_freq; struct cpufreq_policy *policy = cpufreq_cpu_get(cpu); - struct amd_cpudata *cpudata = policy->driver_data; + struct amd_cpudata *cpudata; unsigned int target_freq;
+ if (!policy) + return; + + cpudata = policy->driver_data; + if (policy->min != cpudata->min_limit_freq || policy->max != cpudata->max_limit_freq) amd_pstate_update_min_max_limit(policy);
Hi!
If I'm not mistaken, the line From: should contain the name of the original commit author. Also I’ve already sent same back-port [1]. However, I didn’t get an answer yet.
[1] https://lore.kernel.org/lkml/20241106182000.40167-2-abelova@astralinux.ru/
Anastasia Belova
15.11.2024 11:33, Xiangyu Chen пишет:
From: Xiangyu Chen xiangyu.chen@windriver.com
[ Upstream commit 5493f9714e4cdaf0ee7cec15899a231400cb1a9f ]
cpufreq_cpu_get may return NULL. To avoid NULL-dereference check it and return in case of error.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
Signed-off-by: Anastasia Belova abelova@astralinux.ru Reviewed-by: Perry Yuan perry.yuan@amd.com Signed-off-by: Viresh Kumar viresh.kumar@linaro.org [Xiangyu: Bp to fix CVE: CVE-2024-50009 resolved minor conflicts] Signed-off-by: Xiangyu Chen xiangyu.chen@windriver.com
drivers/cpufreq/amd-pstate.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/cpufreq/amd-pstate.c b/drivers/cpufreq/amd-pstate.c index 8c16d67b98bf..0fc5495c935a 100644 --- a/drivers/cpufreq/amd-pstate.c +++ b/drivers/cpufreq/amd-pstate.c @@ -579,9 +579,14 @@ static void amd_pstate_adjust_perf(unsigned int cpu, unsigned long max_perf, min_perf, des_perf, cap_perf, lowest_nonlinear_perf, max_freq; struct cpufreq_policy *policy = cpufreq_cpu_get(cpu);
- struct amd_cpudata *cpudata = policy->driver_data;
- struct amd_cpudata *cpudata; unsigned int target_freq;
- if (!policy)
return;
- cpudata = policy->driver_data;
- if (policy->min != cpudata->min_limit_freq || policy->max != cpudata->max_limit_freq) amd_pstate_update_min_max_limit(policy);
Hi,
Thanks for your info, I've solved the conflicts in a local commit and forgot to
update the commit author, thanks, and please ignore this patch.
Let's wait for the patch you sent to merge the stable branch :)
Thanks!
Br,
Xiangyu
在 2024年11月15日 星期五 下午05:17:52 [GMT+8], Anastasia Belovaabelova@astralinux.ru 寫道:
Hi!
If I'm not mistaken, the line From: should contain the name of the original commit author. Also I’ve already sent same back-port [1]. However, I didn’t get an answer yet.
[1] https://lore.kernel.org/lkml/20241106182000.40167-2-abelova@astralinux.ru/
Anastasia Belova
15.11.2024 11:33, Xiangyu Chen пишет:
From: Xiangyu Chen xiangyu.chen@windriver.com
[ Upstream commit 5493f9714e4cdaf0ee7cec15899a231400cb1a9f ]
cpufreq_cpu_get may return NULL. To avoid NULL-dereference check it and return in case of error.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
Signed-off-by: Anastasia Belova abelova@astralinux.ru Reviewed-by: Perry Yuan perry.yuan@amd.com Signed-off-by: Viresh Kumar viresh.kumar@linaro.org [Xiangyu: Bp to fix CVE: CVE-2024-50009 resolved minor conflicts] Signed-off-by: Xiangyu Chen xiangyu.chen@windriver.com
drivers/cpufreq/amd-pstate.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/cpufreq/amd-pstate.c b/drivers/cpufreq/amd-pstate.c index 8c16d67b98bf..0fc5495c935a 100644 --- a/drivers/cpufreq/amd-pstate.c +++ b/drivers/cpufreq/amd-pstate.c @@ -579,9 +579,14 @@ static void amd_pstate_adjust_perf(unsigned int cpu, unsigned long max_perf, min_perf, des_perf, cap_perf, lowest_nonlinear_perf, max_freq; struct cpufreq_policy *policy = cpufreq_cpu_get(cpu); - struct amd_cpudata *cpudata = policy->driver_data; + struct amd_cpudata *cpudata; unsigned int target_freq; + if (!policy) + return;
+ cpudata = policy->driver_data;
if (policy->min != cpudata->min_limit_freq || policy->max != cpudata->max_limit_freq) amd_pstate_update_min_max_limit(policy);
Hi,
Thanks for your info, I've solved the conflicts in a local commit and forgot to
update the commit author, thanks, and please ignore this patch.
Let's wait for the patch you sent to merge the stable branch :)
Thanks!
Br,
Xiangyu
On 11/15/24 17:16, Anastasia Belova wrote:
CAUTION: This email comes from a non Wind River email account! Do not click links or open attachments unless you recognize the sender and know the content is safe.
Hi!
If I'm not mistaken, the line From: should contain the name of the original commit author. Also I’ve already sent same back-port [1]. However, I didn’t get an answer yet.
[1] https://lore.kernel.org/lkml/20241106182000.40167-2-abelova@astralinux.ru/
Anastasia Belova
15.11.2024 11:33, Xiangyu Chen пишет:
From: Xiangyu Chen xiangyu.chen@windriver.com
[ Upstream commit 5493f9714e4cdaf0ee7cec15899a231400cb1a9f ]
cpufreq_cpu_get may return NULL. To avoid NULL-dereference check it and return in case of error.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
Signed-off-by: Anastasia Belova abelova@astralinux.ru Reviewed-by: Perry Yuan perry.yuan@amd.com Signed-off-by: Viresh Kumar viresh.kumar@linaro.org [Xiangyu: Bp to fix CVE: CVE-2024-50009 resolved minor conflicts] Signed-off-by: Xiangyu Chen xiangyu.chen@windriver.com
drivers/cpufreq/amd-pstate.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/cpufreq/amd-pstate.c b/drivers/cpufreq/amd-pstate.c index 8c16d67b98bf..0fc5495c935a 100644 --- a/drivers/cpufreq/amd-pstate.c +++ b/drivers/cpufreq/amd-pstate.c @@ -579,9 +579,14 @@ static void amd_pstate_adjust_perf(unsigned int cpu, unsigned long max_perf, min_perf, des_perf, cap_perf, lowest_nonlinear_perf, max_freq; struct cpufreq_policy *policy = cpufreq_cpu_get(cpu); - struct amd_cpudata *cpudata = policy->driver_data; + struct amd_cpudata *cpudata; unsigned int target_freq;
+ if (!policy) + return;
+ cpudata = policy->driver_data;
if (policy->min != cpudata->min_limit_freq || policy->max != cpudata->max_limit_freq) amd_pstate_update_min_max_limit(policy);
linux-stable-mirror@lists.linaro.org