summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Oruba <peter.oruba@amd.com>2008-08-01 12:46:46 +0200
committerIngo Molnar <mingo@elte.hu>2008-08-15 17:18:46 +0200
commit636a31781684d0f49208aa163f1a5a3a74210eb4 (patch)
treed9004b30d6519efeb204db740533d8003cf60419
parentd33dcb9e7d272cc3171dcc3a21049902185ab03d (diff)
downloadlinux-636a31781684d0f49208aa163f1a5a3a74210eb4.tar.bz2
x86: Fixed NULL function pointer dereference in AMD microcode patch loader.
Dereference took place in code part responsible for manual installation of microcode patches through /dev/cpu/microcode. Signed-off-by: Peter Oruba <peter.oruba@amd.com> Cc: Peter Oruba <peter.oruba@amd.com> Cc: Tigran Aivazian <tigran@aivazian.fsnet.co.uk> Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--arch/x86/kernel/microcode.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/x86/kernel/microcode.c b/arch/x86/kernel/microcode.c
index 39961bb83293..ad136ad99cb3 100644
--- a/arch/x86/kernel/microcode.c
+++ b/arch/x86/kernel/microcode.c
@@ -127,7 +127,8 @@ static int do_microcode_update(void)
old = current->cpus_allowed;
while ((cursor = microcode_ops->get_next_ucode(&new_mc, cursor)) > 0) {
- error = microcode_ops->microcode_sanity_check(new_mc);
+ if (microcode_ops->microcode_sanity_check != NULL)
+ error = microcode_ops->microcode_sanity_check(new_mc);
if (error)
goto out;
/*