[PATCH 11/11] x86/fault: Don't look for extable entries for SMEP violations

From: Andy Lutomirski
Date: Sun Jan 31 2021 - 17:18:18 EST


If we get a SMEP violation or a fault that would have been a SMEP
violation if we had SMEP, we shouldn't run fixups. Just OOPS.

Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx>
---
arch/x86/mm/fault.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c
index d39946ad8a91..08f5f74cf989 100644
--- a/arch/x86/mm/fault.c
+++ b/arch/x86/mm/fault.c
@@ -1211,12 +1211,13 @@ void do_user_addr_fault(struct pt_regs *regs,
/*
* Whoops, this is kernel mode code trying to execute from
* user memory. Unless this is AMD erratum #93, we are toast.
- * Don't even try to look up the VMA.
+ * Don't even try to look up the VMA or look for extable
+ * entries.
*/
if (is_errata93(regs, address))
return;

- bad_area_nosemaphore(regs, error_code, address);
+ page_fault_oops(regs, error_code, address);
return;
}

--
2.29.2