diff options
author | jacob.shin@amd.com <jacob.shin@amd.com> | 2006-04-07 19:49:51 +0200 |
---|---|---|
committer | Dave Jones <davej@redhat.com> | 2006-04-10 18:14:33 -0500 |
commit | 530515a06f90c0831732709efee4a99497bd2b7c (patch) | |
tree | 791d8e7e54e0000d8b4bce057894036162fed3c0 | |
parent | b40fc4923ee3352c44ac2c0bd5f4d6018d6c4ad7 (diff) |
[CPUFREQ] x86_64: Proper null pointer check in powernow_k8_get
This prevents crashes on dual core system when enough ticks are lost.
Replaces earlier patch by me.
(Duplicate null data check in powernowk8_get() removed -- davej)
arch/i386/kernel/cpu/cpufreq/powernow-k8.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
Signed-off-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Dave Jones <davej@redhat.com>
-rw-r--r-- | arch/i386/kernel/cpu/cpufreq/powernow-k8.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/i386/kernel/cpu/cpufreq/powernow-k8.c b/arch/i386/kernel/cpu/cpufreq/powernow-k8.c index 6ba497c47df6..30bb6fd5b2b2 100644 --- a/arch/i386/kernel/cpu/cpufreq/powernow-k8.c +++ b/arch/i386/kernel/cpu/cpufreq/powernow-k8.c @@ -46,7 +46,7 @@ #define PFX "powernow-k8: " #define BFX PFX "BIOS error: " -#define VERSION "version 1.60.1" +#define VERSION "version 1.60.2" #include "powernow-k8.h" /* serialize freq changes */ @@ -910,6 +910,9 @@ static int powernowk8_target(struct cpufreq_policy *pol, unsigned targfreq, unsi unsigned int newstate; int ret = -EIO; + if (!data) + return -EINVAL; + /* only run on specific CPU from here on */ oldmask = current->cpus_allowed; set_cpus_allowed(current, cpumask_of_cpu(pol->cpu)); @@ -969,6 +972,9 @@ static int powernowk8_verify(struct cpufreq_policy *pol) { struct powernow_k8_data *data = powernow_data[pol->cpu]; + if (!data) + return -EINVAL; + return cpufreq_frequency_table_verify(pol, data->powernow_table); } |