summaryrefslogtreecommitdiffstats
path: root/arch/x86
diff options
context:
space:
mode:
authorChen Gong <gong.chen@linux.intel.com>2012-04-20 16:02:05 -0700
committerTony Luck <tony.luck@intel.com>2012-04-20 16:02:05 -0700
commit8571723a698dcc0ee16c1c63908aa99dd940ce5c (patch)
tree0c81c3fdf7b4ca186a61ba01c385742c17efb033 /arch/x86
parent95022b8cf6ed7f3292b60c8e85fe59a12bfb1c9e (diff)
downloadlinux-8571723a698dcc0ee16c1c63908aa99dd940ce5c.tar.gz
linux-8571723a698dcc0ee16c1c63908aa99dd940ce5c.tar.bz2
linux-8571723a698dcc0ee16c1c63908aa99dd940ce5c.zip
x86/mce Add validation check before GHES error is recorded
When GHES error record is logged into mcelog kernel buffer, a validation check for physical address is necessary, which prevents reporting an invalid physical address. [Since physical address is the only useful element in this error record, we drop generating the record completely if we don't have a valid address] Signed-off-by: Chen Gong <gong.chen@linux.intel.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'arch/x86')
-rw-r--r--arch/x86/kernel/cpu/mcheck/mce-apei.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/x86/kernel/cpu/mcheck/mce-apei.c b/arch/x86/kernel/cpu/mcheck/mce-apei.c
index 507ea58688e2..cd8b166a1735 100644
--- a/arch/x86/kernel/cpu/mcheck/mce-apei.c
+++ b/arch/x86/kernel/cpu/mcheck/mce-apei.c
@@ -42,7 +42,8 @@ void apei_mce_report_mem_error(int corrected, struct cper_sec_mem_err *mem_err)
struct mce m;
/* Only corrected MC is reported */
- if (!corrected)
+ if (!corrected || !(mem_err->validation_bits &
+ CPER_MEM_VALID_PHYSICAL_ADDRESS))
return;
mce_setup(&m);