From: Tony Luck Date: Mon, 14 May 2012 22:07:48 +0000 (-0700) Subject: x86/mce: Only restart instruction after machine check recovery if it is safe X-Git-Tag: v3.4~11^2 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dad1743e5993f19b3d7e7bd0fb35dc45b5326626;p=pandora-kernel.git x86/mce: Only restart instruction after machine check recovery if it is safe Section 15.3.1.2 of the software developer manual has this to say about the RIPV bit in the IA32_MCG_STATUS register: RIPV (restart IP valid) flag, bit 0 — Indicates (when set) that program execution can be restarted reliably at the instruction pointed to by the instruction pointer pushed on the stack when the machine-check exception is generated. When clear, the program cannot be reliably restarted at the pushed instruction pointer. We need to save the state of this bit in do_machine_check() and use it in mce_notify_process() to force a signal; even if memory_failure() says it made a complete recovery ... e.g. replaced a clean LRU page. Acked-by: Borislav Petkov Signed-off-by: Tony Luck --- Reading git-diff-tree failed