summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDennis Beier <nanovim@gmail.com>2025-08-30 17:43:59 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-12-07 00:08:09 +0300
commit956b56d17a89775e4957bbddefa45cd3c6c71000 (patch)
treeecf4b71b5a2e72a94956481039125ccc589d79d0
parentf52d3db6d95a06148665d5ad20d94b6b47d7cba8 (diff)
downloadlinux-956b56d17a89775e4957bbddefa45cd3c6c71000.tar.xz
cpufreq/longhaul: handle NULL policy in longhaul_exit
[ Upstream commit 592532a77b736b5153e0c2e4c74aa50af0a352ab ] longhaul_exit() was calling cpufreq_cpu_get(0) without checking for a NULL policy pointer. On some systems, this could lead to a NULL dereference and a kernel warning or panic. This patch adds a check using unlikely() and returns early if the policy is NULL. Bugzilla: #219962 Signed-off-by: Dennis Beier <nanovim@gmail.com> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--drivers/cpufreq/longhaul.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/cpufreq/longhaul.c b/drivers/cpufreq/longhaul.c
index 182a4dbca095..7197b0daabea 100644
--- a/drivers/cpufreq/longhaul.c
+++ b/drivers/cpufreq/longhaul.c
@@ -955,6 +955,9 @@ static void __exit longhaul_exit(void)
struct cpufreq_policy *policy = cpufreq_cpu_get(0);
int i;
+ if (unlikely(!policy))
+ return;
+
for (i = 0; i < numscales; i++) {
if (mults[i] == maxmult) {
struct cpufreq_freqs freqs;