Messages in this thread Patch in this message | | | From | Tony Luck <> | Subject | [PATCH] x86, mce: Always fall into mcelog path, regardless of what notifiers returned | Date | Fri, 30 Jan 2015 09:29:47 -0800 |
| |
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@intel.com> ---
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
| |