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 <[email protected]> Cc: Peter Zijlstra <[email protected]> Signed-off-by: Andy Lutomirski <[email protected]> --- 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

