OSDN Git Service

x86/mce: Check for faults tagged in EXTABLE_CLASS_FAULT exception table entries
authorTony Luck <tony.luck@intel.com>
Wed, 17 Feb 2016 18:20:13 +0000 (10:20 -0800)
committerIngo Molnar <mingo@kernel.org>
Thu, 18 Feb 2016 08:22:42 +0000 (09:22 +0100)
commitb2f9d678e28ca71ce650eac82f26dd287b47e89a
tree78559fcff433de13a8412e4e726abd8ff5cc0548
parent548acf19234dbda5a52d5a8e7e205af46e9da840
x86/mce: Check for faults tagged in EXTABLE_CLASS_FAULT exception table entries

Extend the severity checking code to add a new context IN_KERN_RECOV
which is used to indicate that the machine check was triggered by code
in the kernel tagged with _ASM_EXTABLE_FAULT() so that the ex_handler_fault()
handler will provide the fixup code with the trap number.

Major re-work to the tail code in do_machine_check() to make all this
readable/maintainable. One functional change is that tolerant=3 no longer
stops recovery actions. Revert to only skipping sending SIGBUS to the
current process.

Signed-off-by: Tony Luck <tony.luck@intel.com>
Reviewed-by: Borislav Petkov <bp@suse.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/89d243d05a7943bb187d1074bb30d9c4f482d5f5.1455732970.git.tony.luck@intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/kernel/cpu/mcheck/mce-severity.c
arch/x86/kernel/cpu/mcheck/mce.c