|
@@ -708,6 +708,7 @@ static int mce_no_way_out(struct mce *m, char **msg, unsigned long *validp,
|
|
|
struct pt_regs *regs)
|
|
|
{
|
|
|
int i, ret = 0;
|
|
|
+ char *tmp;
|
|
|
|
|
|
for (i = 0; i < mca_cfg.banks; i++) {
|
|
|
m->status = mce_rdmsrl(MSR_IA32_MCx_STATUS(i));
|
|
@@ -716,9 +717,11 @@ 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);
|
|
|
}
|
|
|
- if (mce_severity(m, mca_cfg.tolerant, msg, true) >=
|
|
|
- MCE_PANIC_SEVERITY)
|
|
|
+
|
|
|
+ if (mce_severity(m, mca_cfg.tolerant, &tmp, true) >= MCE_PANIC_SEVERITY) {
|
|
|
+ *msg = tmp;
|
|
|
ret = 1;
|
|
|
+ }
|
|
|
}
|
|
|
return ret;
|
|
|
}
|