linux/arch/x86/kernel/cpu/mcheck
Borislav Petkov 60c8144afc x86/MCE/AMD: Fix the thresholding machinery initialization order
Currently, the code sets up the thresholding interrupt vector and only
then goes about initializing the thresholding banks. Which is wrong,
because an early thresholding interrupt would cause a NULL pointer
dereference when accessing those banks and prevent the machine from
booting.

Therefore, set the thresholding interrupt vector only *after* having
initialized the banks successfully.

Fixes: 18807ddb7f ("x86/mce/AMD: Reset Threshold Limit after logging error")
Reported-by: Rafał Miłecki <rafal@milecki.pl>
Reported-by: John Clemens <clemej@gmail.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Tested-by: Rafał Miłecki <rafal@milecki.pl>
Tested-by: John Clemens <john@deater.net>
Cc: Aravind Gopalakrishnan <aravindksg.lkml@gmail.com>
Cc: linux-edac@vger.kernel.org
Cc: stable@vger.kernel.org
Cc: Tony Luck <tony.luck@intel.com>
Cc: x86@kernel.org
Cc: Yazen Ghannam <Yazen.Ghannam@amd.com>
Link: https://lkml.kernel.org/r/20181127101700.2964-1-zajec5@gmail.com
Link: https://bugzilla.kernel.org/show_bug.cgi?id=201291
2018-11-28 10:10:36 +01:00
..
dev-mcelog.c x86/mcelog: Remove one mce_helper definition 2018-10-18 00:05:04 +02:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mce_amd.c x86/MCE/AMD: Fix the thresholding machinery initialization order 2018-11-28 10:10:36 +01:00
mce_intel.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mce-apei.c x86/ras: Flip the TSC-adding logic 2017-01-24 09:14:54 +01:00
mce-genpool.c x86/mce: Make the MCE notifier a blocking one 2017-04-18 22:23:48 +02:00
mce-inject.c x86/mce-inject: Reset injection struct after injection 2018-09-21 14:28:37 +02:00
mce-internal.h x86/memory_failure: Introduce {set, clear}_mce_nospec() 2018-08-20 09:22:45 -07:00
mce-severity.c x86/mce: Add Hygon Dhyana support to the MCA infrastructure 2018-09-27 18:28:59 +02:00
mce.c acpi/nfit, x86/mce: Validate a MCE's address before using it 2018-11-06 19:13:26 +01:00
p5.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
therm_throt.c x86/mce: Remove duplicated tracing interrupt code 2017-08-29 11:42:26 +02:00
threshold.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
winchip.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00