Skip to content

Commit

Permalink
[CPUFREQ] x86_64: Proper null pointer check in powernow_k8_get
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
jacob.shin@amd.com authored and Dave Jones committed Apr 10, 2006
1 parent b40fc49 commit 530515a
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion arch/i386/kernel/cpu/cpufreq/powernow-k8.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
Expand Down Expand Up @@ -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));
Expand Down Expand Up @@ -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);
}

Expand Down

0 comments on commit 530515a

Please sign in to comment.