RE: [PATCH] x86/mce: Always save severity in machine_check_poll

From: Ghannam, Yazen
Date: Mon Jun 12 2017 - 14:55:23 EST


> -----Original Message-----
> From: linux-edac-owner@xxxxxxxxxxxxxxx [mailto:linux-edac-
> owner@xxxxxxxxxxxxxxx] On Behalf Of Luck, Tony
> Sent: Monday, June 12, 2017 2:08 PM
> To: Ghannam, Yazen <Yazen.Ghannam@xxxxxxx>
> Cc: linux-edac@xxxxxxxxxxxxxxx; Borislav Petkov <bp@xxxxxxx>;
> x86@xxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH] x86/mce: Always save severity in machine_check_poll
>
> On Mon, Jun 12, 2017 at 11:54:06AM -0500, Yazen Ghannam wrote:
> > - severity = mce_severity(&m, mca_cfg.tolerant, NULL, false);
> > -
> > - if (severity == MCE_DEFERRED_SEVERITY &&
> mce_is_memory_error(&m))
> > - if (m.status & MCI_STATUS_ADDRV)
> > - m.severity = severity;
> > + m.severity = mce_severity(&m, mca_cfg.tolerant, NULL, false);
>
> So that isn't quite the same. Before we only set m.severity for memory errors
> where we had a valid address. Now you unconditionally set it.
>
> Maybe that's more useful. But it now needs an audit of the code the
> registered notifiers to make sure they didn't assume that severity set meant
> that this is a memory error.
>

Only the SRAO notifier checks for severity as far as I can tell, and it specifically
checks for m.serverity=MCE_SRAO_SEVERITY.

However, it looks like all the other actionable notifiers check for a memory
error either using mce_is_memory_error() or by checking the status bits
directly.

Thanks,
Yazen