diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2009-08-06 07:16:44 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-08-06 07:55:09 -0400 |
commit | e0d82a0a4e9841b787e6431ccfbb515546c55dc2 (patch) | |
tree | 5fe4ea05533ca0c60f90e27bd5fd9c3aacbcd668 /arch/powerpc/kernel/power7-pmu.c | |
parent | af6af30c0fcd77e621638e53ef8b176bca8bd3b4 (diff) |
perf_counter/powerpc: Check oprofile_cpu_type for NULL before using it
If the current CPU doesn't support performance counters,
cur_cpu_spec->oprofile_cpu_type can be NULL. The current
perf_counter modules don't test for that case and would thus
crash at boot time.
Bug reported by David Woodhouse.
Reported-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Paul Mackerras <paulus@samba.org>
LKML-Reference: <19066.48028.446975.501454@cargo.ozlabs.ibm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/powerpc/kernel/power7-pmu.c')
-rw-r--r-- | arch/powerpc/kernel/power7-pmu.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/power7-pmu.c b/arch/powerpc/kernel/power7-pmu.c index 5a9f5cbd40a4..388cf57ad827 100644 --- a/arch/powerpc/kernel/power7-pmu.c +++ b/arch/powerpc/kernel/power7-pmu.c | |||
@@ -366,7 +366,8 @@ static struct power_pmu power7_pmu = { | |||
366 | 366 | ||
367 | static int init_power7_pmu(void) | 367 | static int init_power7_pmu(void) |
368 | { | 368 | { |
369 | if (strcmp(cur_cpu_spec->oprofile_cpu_type, "ppc64/power7")) | 369 | if (!cur_cpu_spec->oprofile_cpu_type || |
370 | strcmp(cur_cpu_spec->oprofile_cpu_type, "ppc64/power7")) | ||
370 | return -ENODEV; | 371 | return -ENODEV; |
371 | 372 | ||
372 | return register_power_pmu(&power7_pmu); | 373 | return register_power_pmu(&power7_pmu); |