[PATCH][next] cpufreq: powernow-k8: add null check to policy to avoid null pointer dereference

From: Colin King
Date: Mon Jan 04 2021 - 08:03:12 EST


From: Colin Ian King <colin.king@xxxxxxxxxxxxx>

Currently there is an unlikely case where cpufreq_cpu_get returns a
null policy and this will cause a null pointer dereference later on.
Fix this by adding a null check and adding an error return.

Addresses-Coverity: ("Dereference null return")
Fixes: b43a7ffbf33b ("cpufreq: Notify all policy->cpus in cpufreq_notify_transition()")
Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx>
---
drivers/cpufreq/powernow-k8.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/cpufreq/powernow-k8.c b/drivers/cpufreq/powernow-k8.c
index 0acc9e241cd7..c5368545ba1f 100644
--- a/drivers/cpufreq/powernow-k8.c
+++ b/drivers/cpufreq/powernow-k8.c
@@ -913,6 +913,8 @@ static int transition_frequency_fidvid(struct powernow_k8_data *data,
freqs.new = find_khz_freq_from_fid(fid);

policy = cpufreq_cpu_get(smp_processor_id());
+ if (!policy)
+ return 1;
cpufreq_cpu_put(policy);

cpufreq_freq_transition_begin(policy, &freqs);
--
2.29.2