[PATCH] [3/28] x86: MCE: Remove assumption that RIP MSR is exact

From: Andi Kleen
Date: Tue Apr 07 2009 - 11:10:24 EST



Impact: Spec compliance

The code assumed that on P4 the extended RIP MSR would
be an exact error location But no P4s have exact EIPVs and also
on rereading the SDM doesn't claim that. So let's drop that.

Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>

---
arch/x86/kernel/cpu/mcheck/mce_64.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)

Index: linux/arch/x86/kernel/cpu/mcheck/mce_64.c
===================================================================
--- linux.orig/arch/x86/kernel/cpu/mcheck/mce_64.c 2009-04-07 16:09:59.000000000 +0200
+++ linux/arch/x86/kernel/cpu/mcheck/mce_64.c 2009-04-07 16:43:14.000000000 +0200
@@ -184,11 +184,8 @@
m->ip = 0;
m->cs = 0;
}
- if (rip_msr) {
- /* Assume the RIP in the MSR is exact. Is this true? */
- m->mcgstatus |= MCG_STATUS_EIPV;
+ if (rip_msr)
rdmsrl(rip_msr, m->ip);
- }
}

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