[PATCH 0/2] Fix machine check recovery for instruction fault on Sandy Bridge

From: Tony Luck
Date: Thu Jul 19 2012 - 15:01:37 EST

This patch series adds a workaround for some strange
asymmetry between how machine checks are reported for
data and instruction fetches. For instruction fetch
error the processor does not set the EIPV bit in the
MCG_STATUS register on the affected processor, leading
us to believe that the cs/ip values saved on the stack
are not associated with the machine check ... which in
turn makes us unable to determine whether the machine
check was taken in kernel or user mode. The workaround
is to fake the presence of the EIPV bit for this error
on this processor model. Not pretty, but avoids having
to make special cases later in the code.

Tony Luck (2):
x86/mce: Move MCACOD defines from mce-severity.c to <asm/mce.h>
x86/mce: Add quirk for instruction recovery on Sandy Bridge

arch/x86/include/asm/mce.h | 8 ++++++
arch/x86/kernel/cpu/mcheck/mce-severity.c | 7 -----
arch/x86/kernel/cpu/mcheck/mce.c | 43 ++++++++++++++++++++++++++++---
3 files changed, 48 insertions(+), 10 deletions(-)


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/