x86: Fix oops in identify_cpu() on CPUs without CPUID
authorOndrej Zary <linux@rainbow-software.org>
Tue, 11 Aug 2009 18:00:11 +0000 (20:00 +0200)
committerIngo Molnar <mingo@elte.hu>
Wed, 12 Aug 2009 09:49:41 +0000 (11:49 +0200)
commite8055139d996e85722984968472868d6dccb1490
treedaf1dcd35c814da2c282a3f31ab683fb79ba4bb9
parentfbd8b1819e80ac5a176d085fdddc3a34d1499318
x86: Fix oops in identify_cpu() on CPUs without CPUID

Kernel is broken for x86 CPUs without CPUID since 2.6.28. It
crashes with NULL pointer dereference in identify_cpu():

766        generic_identify(c);
767
768-->     if (this_cpu->c_identify)
769               this_cpu->c_identify(c);

this_cpu is NULL. This is because it's only initialized in
get_cpu_vendor() function, which is not called if the CPU has
no CPUID instruction.

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
LKML-Reference: <200908112000.15993.linux@rainbow-software.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/cpu/common.c