summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan H. Schönherr <jschoenh@amazon.de>2019-12-10 01:07:30 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-01-04 19:13:19 +0100
commit92a8b03cdf6be7bcda8155ab69d30f418649ab70 (patch)
treeae656c5d7001b06254e874b72ba96928f050d836
parented5ebf442fad54977f5514155e94dfe722c1d8d3 (diff)
downloadlinux-stable-92a8b03cdf6be7bcda8155ab69d30f418649ab70.tar.gz
linux-stable-92a8b03cdf6be7bcda8155ab69d30f418649ab70.tar.bz2
linux-stable-92a8b03cdf6be7bcda8155ab69d30f418649ab70.zip
x86/mce: Fix possibly incorrect severity calculation on AMD
[ Upstream commit a3a57ddad061acc90bef39635caf2b2330ce8f21 ] The function mce_severity_amd_smca() requires m->bank to be initialized for correct operation. Fix the one case, where mce_severity() is called without doing so. Fixes: 6bda529ec42e ("x86/mce: Grade uncorrected errors for SMCA-enabled systems") Fixes: d28af26faa0b ("x86/MCE: Initialize mce.bank in the case of a fatal error in mce_no_way_out()") Signed-off-by: Jan H. Schönherr <jschoenh@amazon.de> Signed-off-by: Borislav Petkov <bp@suse.de> Reviewed-by: Tony Luck <tony.luck@intel.com> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: linux-edac <linux-edac@vger.kernel.org> Cc: <stable@vger.kernel.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: x86-ml <x86@kernel.org> Cc: Yazen Ghannam <Yazen.Ghannam@amd.com> Link: https://lkml.kernel.org/r/20191210000733.17979-4-jschoenh@amazon.de Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--arch/x86/kernel/cpu/mcheck/mce.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c
index 87ed8462a5c7..1f69b12d5bb8 100644
--- a/arch/x86/kernel/cpu/mcheck/mce.c
+++ b/arch/x86/kernel/cpu/mcheck/mce.c
@@ -812,8 +812,8 @@ static int mce_no_way_out(struct mce *m, char **msg, unsigned long *validp,
if (quirk_no_way_out)
quirk_no_way_out(i, m, regs);
+ m->bank = i;
if (mce_severity(m, mca_cfg.tolerant, &tmp, true) >= MCE_PANIC_SEVERITY) {
- m->bank = i;
mce_read_aux(m, i);
*msg = tmp;
return 1;