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

From: Andy Lutomirski
Date: Tue Feb 09 2021 - 21:40:56 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 | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c
index 9fb636b2a3da..466415bdf58c 100644
--- a/arch/x86/mm/fault.c
+++ b/arch/x86/mm/fault.c
@@ -1249,12 +1249,12 @@ void do_user_addr_fault(struct pt_regs *regs,
* user memory. Unless this is AMD erratum #93, which
* corrupts RIP such that it looks like a user address,
* this is unrecoverable. Don't even try to look up the
- * VMA.
+ * 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