[PATCH] x86, mce: Always fall into mcelog path, regardless of what notifiers returned

From: Tony Luck
Date: Fri Jan 30 2015 - 12:30:39 EST


This has been broken for a while - but we should not allow code
registered on the x86_mce_decoder_chain to bypass sending machine
check logs to /dev/mcelog.

Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx>
---

Yes, we've had this conversation before and I wimped out and didn't
push the issue. But userspace is broken. People are complaining to
me that errors don't show up in /var/log/mcelog even though they
started the mcelog(8) daemon.

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

diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c
index d2c611699cd9..f439c429c133 100644
--- a/arch/x86/kernel/cpu/mcheck/mce.c
+++ b/arch/x86/kernel/cpu/mcheck/mce.c
@@ -150,14 +150,11 @@ static struct mce_log mcelog = {
void mce_log(struct mce *mce)
{
unsigned next, entry;
- int ret = 0;

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

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

mce->finished = 0;
wmb();
--
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/