]> pilppa.com Git - linux-2.6-omap-h63xx.git/commitdiff
MCE: Don't run 32bit machine checks with interrupts on
authorAndi Kleen <andi@firstfloor.org>
Tue, 21 Oct 2008 20:45:22 +0000 (22:45 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 22 Oct 2008 11:19:01 +0000 (13:19 +0200)
Running machine checks with interrupt on is a extremly bad idea. The machine
check handler only runs when the system is broken and needs to finish
as quickly as possible.

Remove the respective bogus post 2.6.27 regression and call
the machine check vector directly again.

This removes only code.

Signed-off-by: Andi Kleen <ak@linux.intel.com>
[Cherry-picked from x86/mce]
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/kernel/entry_32.S
arch/x86/kernel/traps.c

index c356423a6026fd62123a13d6229bfa4d9a224df3..dd65143941a841de0f55a4830732be7a0fcada4b 100644 (file)
@@ -1024,7 +1024,7 @@ ENTRY(machine_check)
        RING0_INT_FRAME
        pushl $0
        CFI_ADJUST_CFA_OFFSET 4
-       pushl $do_machine_check
+       pushl machine_check_vector
        CFI_ADJUST_CFA_OFFSET 4
        jmp error_code
        CFI_ENDPROC
index e062974cce34265bc9f20857e3e4996c62c153c9..04d242ab0161967985bcb7f9e24f9fe54fb9f33f 100644 (file)
@@ -931,14 +931,6 @@ do_device_not_available(struct pt_regs *regs, long error)
 }
 
 #ifdef CONFIG_X86_32
-#ifdef CONFIG_X86_MCE
-dotraplinkage void __kprobes do_machine_check(struct pt_regs *regs, long error)
-{
-       conditional_sti(regs);
-       machine_check_vector(regs, error);
-}
-#endif
-
 dotraplinkage void do_iret_error(struct pt_regs *regs, long error_code)
 {
        siginfo_t info;