lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sat, 28 Dec 2019 10:57:04 +0800 From: qiwuchen55@...il.com To: rjw@...ysocki.net, viresh.kumar@...aro.org Cc: linux-pm@...r.kernel.org, linux-kernel@...r.kernel.org, chenqiwu <chenqiwu@...omi.com> Subject: [PATCH] cpufreq: powernow-k8: avoid use after free issue in cpufreq_notify_transition() From: chenqiwu <chenqiwu@...omi.com> There is a potential UAF issue in cpufreq_notify_transition() that the cpufreq of current cpu has been released before using it. So we should make a judgement and avoid it. Signed-off-by: chenqiwu <chenqiwu@...omi.com> --- drivers/cpufreq/powernow-k8.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/cpufreq/powernow-k8.c b/drivers/cpufreq/powernow-k8.c index 2db2f17..7391eb0 100644 --- a/drivers/cpufreq/powernow-k8.c +++ b/drivers/cpufreq/powernow-k8.c @@ -913,6 +913,11 @@ 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) { + pr_debug("cpu %d: CPUFreq policy not found\n", + smp_processor_id()); + return 1; + } cpufreq_cpu_put(policy); cpufreq_freq_transition_begin(policy, &freqs); -- 1.9.1
Powered by blists - more mailing lists