[tip: x86/fpu] x86/extable: Remove EX_TYPE_FAULT from MCE safe fixups

From: tip-bot2 for Thomas Gleixner
Date: Tue Sep 14 2021 - 15:19:54 EST


The following commit has been merged into the x86/fpu branch of tip:

Commit-ID: 0c2e62ba04cd0b7194b380bae4fc35c45bb2e46e
Gitweb: https://git.kernel.org/tip/0c2e62ba04cd0b7194b380bae4fc35c45bb2e46e
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
AuthorDate: Wed, 08 Sep 2021 15:29:24 +02:00
Committer: Borislav Petkov <bp@xxxxxxx>
CommitterDate: Mon, 13 Sep 2021 18:23:00 +02:00

x86/extable: Remove EX_TYPE_FAULT from MCE safe fixups

Now that the MC safe copy and FPU have been converted to use the MCE safe
fixup types remove EX_TYPE_FAULT from the list of types which MCE considers
to be safe to be recovered in kernel.

This removes the SGX exception handling of ENCLS from the #MC safe
handling, but according to the SGX wizards the current SGX implementations
cannot survive #MC on ENCLS:

https://lore.kernel.org/r/YS+upEmTfpZub3s9@xxxxxxxxxx

The code relies on the trap number being stored if ENCLS raised an
exception. That's still working, but it does no longer trick the MCE code
into assuming that #MC is handled correctly for ENCLS.

Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Borislav Petkov <bp@xxxxxxx>
Link: https://lkml.kernel.org/r/20210908132525.445255957@xxxxxxxxxxxxx
---
arch/x86/kernel/cpu/mce/severity.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/arch/x86/kernel/cpu/mce/severity.c b/arch/x86/kernel/cpu/mce/severity.c
index d9b77a7..f60bbaf 100644
--- a/arch/x86/kernel/cpu/mce/severity.c
+++ b/arch/x86/kernel/cpu/mce/severity.c
@@ -277,7 +277,6 @@ static int error_context(struct mce *m, struct pt_regs *regs)
return IN_KERNEL;
m->kflags |= MCE_IN_KERNEL_COPYIN;
fallthrough;
- case EX_TYPE_FAULT:
case EX_TYPE_FAULT_MCE_SAFE:
case EX_TYPE_DEFAULT_MCE_SAFE:
m->kflags |= MCE_IN_KERNEL_RECOV;