[tip: x86/mm] x86/fault: Don't look for extable entries for SMEP violations

From: tip-bot2 for Andy Lutomirski
Date: Wed Feb 10 2021 - 12:47:58 EST


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

Commit-ID: 66fcd98883816dba3b66da20b5fc86fa410638b5
Gitweb: https://git.kernel.org/tip/66fcd98883816dba3b66da20b5fc86fa410638b5
Author: Andy Lutomirski <luto@xxxxxxxxxx>
AuthorDate: Tue, 09 Feb 2021 18:33:44 -08:00
Committer: Borislav Petkov <bp@xxxxxxx>
CommitterDate: Wed, 10 Feb 2021 14:45:39 +01:00

x86/fault: Don't look for extable entries for SMEP violations

If the kernel gets a SMEP violation or a fault that would have been a
SMEP violation if it had SMEP support, it shouldn't run fixups. Just
OOPS.

[ bp: Massage commit message. ]

Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx>
Signed-off-by: Borislav Petkov <bp@xxxxxxx>
Link: https://lkml.kernel.org/r/46160d8babce2abf1d6daa052146002efa24ac56.1612924255.git.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 3566a59..1a0cfed 100644
--- a/arch/x86/mm/fault.c
+++ b/arch/x86/mm/fault.c
@@ -1250,12 +1250,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;
}