[PATCH v2 0/5] x86/fault: #PF improvements, mostly related to USER bit

From: Andy Lutomirski
Date: Wed Nov 21 2018 - 18:11:32 EST


This series is a whole bunch of page fault cleanups, plus a couple
of OOPS diagnostic improvements. The overall goals are to clean up
handling of the faulting CPL, the USER bit in the error_code, and
the log messages generated by #PF OOPSes.

This series can also be seen as CET preparation. CET introduces the
WRUSS instruction, which is the very first way for CPL 0 code to
cause a #PF fault with the USER bit set. Let's get the page fault
code into shape before we start using WRUSS :)

Changes from v1:
- Rebase on top of tip:x86/mm, now that a bunch of v1 was applied.
The only material changes are that 'x86/fault: Check
user_mode(regs) when validating a stack extension' is gone
because the code it fixed has been deleted and that 'x86/fault:
Remove sw_error_code' lost the hunk that changed the same code.

Andy Lutomirski (5):
x86/fault: Remove sw_error_code
x86/fault: Don't try to recover from an implicit supervisor access
x86/oops: Show the correct CS value in show_regs()
x86/fault: Decode page fault OOPSes better
x86/vsyscall/64: Use X86_PF constants in the simulated #PF error code

arch/x86/entry/vsyscall/vsyscall_64.c | 2 +-
arch/x86/kernel/process_64.c | 5 +-
arch/x86/mm/fault.c | 144 +++++++++++++++++++-------
3 files changed, 108 insertions(+), 43 deletions(-)

--
2.17.2