[PATCHv2] x86, mce: Kernel does full decoding for AMD, others still need /dev/mcelog reports

From: Tony Luck
Date: Fri Jan 30 2015 - 13:16:57 EST


We should only believe a NOTIFY_STOP on an AMD system. For others
we need to provide the error record out to a user level decoder
via /dev/mcelog.

Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx>
---
v2: Boris says: "on AMD, mcelog is not needed"

arch/x86/kernel/cpu/mcheck/mce.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c
index d2c611699cd9..ea1bc1a05c07 100644
--- a/arch/x86/kernel/cpu/mcheck/mce.c
+++ b/arch/x86/kernel/cpu/mcheck/mce.c
@@ -151,12 +151,13 @@ void mce_log(struct mce *mce)
{
unsigned next, entry;
int ret = 0;
+ struct cpuinfo_x86 *c = &boot_cpu_data;

/* Emit the trace record: */
trace_mce_record(mce);

ret = atomic_notifier_call_chain(&x86_mce_decoder_chain, 0, mce);
- if (ret == NOTIFY_STOP)
+ if (c->x86_vendor == X86_VENDOR_AMD && ret == NOTIFY_STOP)
return;

mce->finished = 0;
--
2.1.0

--
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/