linux-edac.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Jan H. Schönherr" <jschoenh@amazon.de>
To: Tony Luck <tony.luck@intel.com>, Borislav Petkov <bp@alien8.de>
Cc: "Jan H. Schönherr" <jschoenh@amazon.de>,
	linux-edac@vger.kernel.org,
	"Thomas Gleixner" <tglx@linutronix.de>,
	"Ingo Molnar" <mingo@redhat.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	x86@kernel.org
Subject: [PATCH 1/6] x86/mce: Take action on UCNA/Deferred errors again
Date: Tue, 10 Dec 2019 01:07:28 +0100	[thread overview]
Message-ID: <20191210000733.17979-2-jschoenh@amazon.de> (raw)
In-Reply-To: <20191210000733.17979-1-jschoenh@amazon.de>

Linux 3.19 commit fa92c5869426 ("x86, mce: Support memory error recovery
for both UCNA and Deferred error in machine_check_poll") added handling
of UCNA and Deferred errors by adding them to the ring for SRAO errors.

Later, Linux 4.3 commit fd4cf79fcc4b ("x86/mce: Remove the MCE ring for
Action Optional errors") switched storage from the SRAO ring to the
unified pool that is still in use today. In order to only act on the
intended errors, a filter for MCE_AO_SEVERITY was used -- effectively
removing handling of UCNA/Deferred errors again.

Extend the severity filter to include UCNA/Deferred errors once more.

Fixes: fd4cf79fcc4b ("x86/mce: Remove the MCE ring for Action Optional errors")
Signed-off-by: Jan H. Schönherr <jschoenh@amazon.de>
---
 arch/x86/kernel/cpu/mce/core.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/arch/x86/kernel/cpu/mce/core.c b/arch/x86/kernel/cpu/mce/core.c
index 743370ee4983..d5a8b99f7ba3 100644
--- a/arch/x86/kernel/cpu/mce/core.c
+++ b/arch/x86/kernel/cpu/mce/core.c
@@ -595,14 +595,16 @@ static int srao_decode_notifier(struct notifier_block *nb, unsigned long val,
 	struct mce *mce = (struct mce *)data;
 	unsigned long pfn;
 
-	if (!mce)
+	if (!mce || !mce_usable_address(mce))
 		return NOTIFY_DONE;
 
-	if (mce_usable_address(mce) && (mce->severity == MCE_AO_SEVERITY)) {
-		pfn = mce->addr >> PAGE_SHIFT;
-		if (!memory_failure(pfn, 0))
-			set_mce_nospec(pfn);
-	}
+	if (mce->severity != MCE_AO_SEVERITY &&
+	    mce->severity != MCE_DEFERRED_SEVERITY)
+		return NOTIFY_DONE;
+
+	pfn = mce->addr >> PAGE_SHIFT;
+	if (!memory_failure(pfn, 0))
+		set_mce_nospec(pfn);
 
 	return NOTIFY_OK;
 }
-- 
2.22.0.3.gb49bb57c8208.dirty


  reply	other threads:[~2019-12-10  0:08 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-10  0:07 [PATCH 0/6] x86/mce: Various fixes and cleanups for MCE handling Jan H. Schönherr
2019-12-10  0:07 ` Jan H. Schönherr [this message]
2019-12-10  0:07 ` [PATCH 2/6] x86/mce: Make mce=nobootlog work again Jan H. Schönherr
2019-12-16 17:15   ` Borislav Petkov
2019-12-10  0:07 ` [PATCH 3/6] x86/mce: Fix possibly incorrect severity calculation on AMD Jan H. Schönherr
2019-12-16 17:26   ` Borislav Petkov
2019-12-16 17:35     ` Ghannam, Yazen
2019-12-10  0:07 ` [PATCH 4/6] x86/mce: Fix handling of optional message string Jan H. Schönherr
2019-12-16 17:37   ` Borislav Petkov
2019-12-19 17:49     ` Jan H. Schönherr
2019-12-20 10:01       ` Borislav Petkov
2019-12-10  0:07 ` [PATCH 5/6] x86/mce: Pass MCE message to mce_panic() on failed kernel recovery Jan H. Schönherr
2019-12-10  0:07 ` [PATCH 6/6] x86/mce: Remove mce_inject_log() in favor of mce_log() Jan H. Schönherr
2019-12-11  0:25 ` [PATCH 0/6] x86/mce: Various fixes and cleanups for MCE handling Luck, Tony
2019-12-12 12:25   ` Jan H. Schönherr
2019-12-16 16:52     ` Borislav Petkov
2019-12-16 21:59       ` Luck, Tony
2019-12-17  1:19         ` Ghannam, Yazen
2019-12-17  7:34           ` Borislav Petkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191210000733.17979-2-jschoenh@amazon.de \
    --to=jschoenh@amazon.de \
    --cc=bp@alien8.de \
    --cc=hpa@zytor.com \
    --cc=linux-edac@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=tglx@linutronix.de \
    --cc=tony.luck@intel.com \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).