Skip to content

x86/fault: #PF improvements, mostly related to USER bit

Andy Lutomirski lkml 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest5 patches 10 repliesIn review
  2. v113 patches 4 repliesSuperseded

Changes in v2 from the cover letter

- 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.

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/5x86/fault: Remove sw_error_codearch/x86/mm/fault.c+11 -390 replies
2/5x86/fault: Don't try to recover from an implicit supervisor accessarch/x86/mm/fault.c+10 -00 replies
3/5x86/oops: Show the correct CS value in show_regs()arch/x86/kernel/process_64.c+2 -30 replies
4/5x86/fault: Decode page fault OOPSes betterarch/x86/mm/fault.c+84 -09 replies
5/5x86/vsyscall/64: Use X86_PF constants in the simulated #PF error codearch/x86/entry/vsyscall/vsyscall_64.c+1 -10 replies

Reviews trailers per patch

None of the 5 patches has a Reviewed-by or Acked-by of their own; the series has one for all of them.

PatchPeter Zijlstra (Intel)
SeriesA-b
1/5
2/5
3/5
4/5
5/5

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v2 thread

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

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(-)
Signature · 1 line
2.17.2