提交 d2f6f7ae 编写于 作者: A Andi Kleen 提交者: Thomas Gleixner

MCE: Don't run 32bit machine checks with interrupts on

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: NAndi Kleen <ak@linux.intel.com>
[Cherry-picked from x86/mce]
Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
上级 2bfef69d
...@@ -1024,7 +1024,7 @@ ENTRY(machine_check) ...@@ -1024,7 +1024,7 @@ ENTRY(machine_check)
RING0_INT_FRAME RING0_INT_FRAME
pushl $0 pushl $0
CFI_ADJUST_CFA_OFFSET 4 CFI_ADJUST_CFA_OFFSET 4
pushl $do_machine_check pushl machine_check_vector
CFI_ADJUST_CFA_OFFSET 4 CFI_ADJUST_CFA_OFFSET 4
jmp error_code jmp error_code
CFI_ENDPROC CFI_ENDPROC
......
...@@ -931,14 +931,6 @@ do_device_not_available(struct pt_regs *regs, long error) ...@@ -931,14 +931,6 @@ do_device_not_available(struct pt_regs *regs, long error)
} }
#ifdef CONFIG_X86_32 #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) dotraplinkage void do_iret_error(struct pt_regs *regs, long error_code)
{ {
siginfo_t info; siginfo_t info;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册