Proper null pointer check in powernow_k8_get From jacob.shin@amd.com. This prevents crashes on dual core system when enough ticks are lost. Replaces earlier patch by me. arch/i386/kernel/cpu/cpufreq/powernow-k8.c | 11 ++++++++++- 1 files changed, 10 insertions(+), 1 deletion(-) Signed-off-by: Thomas Renninger Signed-off-by: Andi Kleen Index: linux/arch/i386/kernel/cpu/cpufreq/powernow-k8.c =================================================================== --- linux.orig/arch/i386/kernel/cpu/cpufreq/powernow-k8.c +++ linux/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 cpuf 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 cpuf { struct powernow_k8_data *data = powernow_data[pol->cpu]; + if (!data) + return -EINVAL; + return cpufreq_frequency_table_verify(pol, data->powernow_table); } @@ -1103,6 +1109,9 @@ static unsigned int powernowk8_get (unsi if (!data) return -EINVAL; + if (!data) + return -EINVAL; + set_cpus_allowed(current, cpumask_of_cpu(cpu)); if (smp_processor_id() != cpu) { printk(KERN_ERR PFX "limiting to CPU %d failed in powernowk8_get\n", cpu);