Skip to content

Commit

Permalink
MCE: Don't run 32bit machine checks with interrupts on
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Andi Kleen authored and Thomas Gleixner committed Oct 22, 2008
1 parent 2bfef69 commit d2f6f7a
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 9 deletions.
2 changes: 1 addition & 1 deletion arch/x86/kernel/entry_32.S
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
8 changes: 0 additions & 8 deletions arch/x86/kernel/traps.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down

0 comments on commit d2f6f7a

Please sign in to comment.