Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1408322 > unrolled thread

[PATCH] x86/mce: Do not use bank 1 for APEI generated error logs.

Started byTony Luck <tony.luck@intel.com>
First post2016-05-27 23:40 +0200
Last post2016-05-28 09:40 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] x86/mce: Do not use bank 1 for APEI generated error logs. Tony Luck <tony.luck@intel.com> - 2016-05-27 23:40 +0200
    Re: [PATCH] x86/mce: Do not use bank 1 for APEI generated error logs. Borislav Petkov <bp@alien8.de> - 2016-05-28 09:40 +0200

#1408322 — [PATCH] x86/mce: Do not use bank 1 for APEI generated error logs.

FromTony Luck <tony.luck@intel.com>
Date2016-05-27 23:40 +0200
Subject[PATCH] x86/mce: Do not use bank 1 for APEI generated error logs.
Message-ID<rDxE5-e5-7@gated-at.bofh.it>
BIOS can report a memory error to Linux using ACPI/APEI mechanism.
When it does this, we create a fictitious machine check error record
and feed it into the standard mce_Log() function. The error record
needs a machine check bank number, and for some reason we chose "1"
for this.

But "1" is a valid bank number, and this causes confusion and heartburn
among h/w folks who are concerned that a memory error signature was
somehow logged in bank 1.

Change to use "mca_cfg.banks" (one higher than the largest bank number
supported on the platform) so that it will be clearer that this error
did not originate in a machine check bank.

Signed-off-by: Tony Luck <tony.luck@intel.com>
---
 arch/x86/kernel/cpu/mcheck/mce-apei.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/kernel/cpu/mcheck/mce-apei.c b/arch/x86/kernel/cpu/mcheck/mce-apei.c
index 34c89a3e8260..9d2c02337713 100644
--- a/arch/x86/kernel/cpu/mcheck/mce-apei.c
+++ b/arch/x86/kernel/cpu/mcheck/mce-apei.c
@@ -46,7 +46,7 @@ void apei_mce_report_mem_error(int severity, struct cper_sec_mem_err *mem_err)
 		return;
 
 	mce_setup(&m);
-	m.bank = 1;
+	m.bank = mca_cfg.banks;
 	/* Fake a memory read error with unknown channel */
 	m.status = MCI_STATUS_VAL | MCI_STATUS_EN | MCI_STATUS_ADDRV | 0x9f;
 
-- 
2.5.0

[toc] | [next] | [standalone]


#1408388

FromBorislav Petkov <bp@alien8.de>
Date2016-05-28 09:40 +0200
Message-ID<rDH0J-63f-5@gated-at.bofh.it>
In reply to#1408322
On Fri, May 27, 2016 at 02:11:06PM -0700, Tony Luck wrote:
> diff --git a/arch/x86/kernel/cpu/mcheck/mce-apei.c b/arch/x86/kernel/cpu/mcheck/mce-apei.c
> index 34c89a3e8260..9d2c02337713 100644
> --- a/arch/x86/kernel/cpu/mcheck/mce-apei.c
> +++ b/arch/x86/kernel/cpu/mcheck/mce-apei.c
> @@ -46,7 +46,7 @@ void apei_mce_report_mem_error(int severity, struct cper_sec_mem_err *mem_err)
>  		return;
>  
>  	mce_setup(&m);
> -	m.bank = 1;
> +	m.bank = mca_cfg.banks;

There's struct cper_sec_mem_err.bank. Why aren't we copying that?

-- 
Regards/Gruss,
    Boris.

ECO tip #101: Trim your mails when you reply.
--

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web