diff options
author | Borislav Petkov <bp@suse.de> | 2018-05-17 11:46:26 +0300 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2018-05-19 16:19:30 +0300 |
commit | 78ce241099bb363b19dbd0245442e66c8de8f567 (patch) | |
tree | 735340ca194fc1472f9671f4012fae06b3ce93f5 /arch/x86/purgatory/purgatory.c | |
parent | 73fcb1a370c76b202d406e95d9dabb76eaccf484 (diff) | |
download | linux-78ce241099bb363b19dbd0245442e66c8de8f567.tar.xz |
x86/MCE/AMD: Cache SMCA MISC block addresses
... into a global, two-dimensional array and service subsequent reads from
that cache to avoid rdmsr_on_cpu() calls during CPU hotplug (IPIs with IRQs
disabled).
In addition, this fixes a KASAN slab-out-of-bounds read due to wrong usage
of the bank->blocks pointer.
Fixes: 27bd59502702 ("x86/mce/AMD: Get address from already initialized block")
Reported-by: Johannes Hirte <johannes.hirte@datenkhaos.de>
Tested-by: Johannes Hirte <johannes.hirte@datenkhaos.de>
Signed-off-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Yazen Ghannam <yazen.ghannam@amd.com>
Link: http://lkml.kernel.org/r/20180414004230.GA2033@probook
Diffstat (limited to 'arch/x86/purgatory/purgatory.c')
0 files changed, 0 insertions, 0 deletions