x86/mce: Handle broadcasted MCE gracefully with kexec
authorXunlei Pang <xlpang@redhat.com>
Mon, 13 Mar 2017 09:50:19 +0000 (10:50 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 13 Mar 2017 19:18:07 +0000 (20:18 +0100)
commit5bc329503e8191c91c4c40836f062ef771d8ba83
tree929ecf39268564f1da21b3846fa588a27c152f91
parent4495c08e84729385774601b5146d51d9e5849f81
x86/mce: Handle broadcasted MCE gracefully with kexec

When we are about to kexec a crash kernel and right then and there a
broadcasted MCE fires while we're still in the first kernel and while
the other CPUs remain in a holding pattern, the #MC handler of the
first kernel will timeout and then panic due to never completing MCE
synchronization.

Handle this in a similar way as to when the CPUs are offlined when that
broadcasted MCE happens.

[ Boris: rewrote commit message and comments. ]

Suggested-by: Borislav Petkov <bp@alien8.de>
Signed-off-by: Xunlei Pang <xlpang@redhat.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Acked-by: Tony Luck <tony.luck@intel.com>
Cc: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Cc: kexec@lists.infradead.org
Cc: linux-edac <linux-edac@vger.kernel.org>
Link: http://lkml.kernel.org/r/1487857012-9059-1-git-send-email-xlpang@redhat.com
Link: http://lkml.kernel.org/r/20170313095019.19351-1-bp@alien8.de
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/include/asm/reboot.h
arch/x86/kernel/cpu/mcheck/mce.c
arch/x86/kernel/reboot.c