x86/fred: Add a machine check entry stub for FRED
authorXin Li <xin3.li@intel.com>
Tue, 5 Dec 2023 10:50:14 +0000 (02:50 -0800)
committerBorislav Petkov (AMD) <bp@alien8.de>
Wed, 31 Jan 2024 21:02:25 +0000 (22:02 +0100)
commitffa4901f0e004e1a0a4e18a2452a1fcc27277cc0
tree60e6d412a80c6bdc2b656fb6c9954573addc75a2
parentf8b8ee45f82b681606d288bcec89c9071b4079fc
x86/fred: Add a machine check entry stub for FRED

Like #DB, when occurred on different ring level, i.e., from user or kernel
context, #MCE needs to be handled on different stack: User #MCE on current
task stack, while kernel #MCE on a dedicated stack.

This is exactly how FRED event delivery invokes an exception handler: ring
3 event on level 0 stack, i.e., current task stack; ring 0 event on the
the FRED machine check entry stub doesn't do stack switch.

Signed-off-by: Xin Li <xin3.li@intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Tested-by: Shan Kang <shan.kang@intel.com>
Link: https://lore.kernel.org/r/20231205105030.8698-26-xin3.li@intel.com
arch/x86/kernel/cpu/mce/core.c