Changes from v1:
 * Take "space_" out of do_kern/user_addr_fault()
 * Make "bad fault" comment in do_kern_addr_fault() less scary
 * Add clarifying comment for the conditions under which 
   do_kern_addr_fault() is called.
 * Remove mention of hw_error_code in search_exception_tables()
   comment.
 * Clarify that the exception tables spell out individual
   instructions, not larger sections of code.
 * Use PAGE_MASK in is_vsyscall_vaddr()
 * Add some additional reasoning behind the code move when
   moving the vsyscall handling to user address space handler
 * Remove hard-coded ~0xfff and replace with PAGE_MASK

---

I went trying to clean up the spurious protection key checks.
But, I got distracted by some other warts in the code.  I hope this
makes things more comprehendable with some improved structure,
commenting and naming.

We come out the other side of it with a new warning in for pkey
faults in the kernel portion of the address space, and removal
of some dead pkeys code, but no other functional changes.

There is a potential impact from moving the vsyscall emulation.
But, this does pass the x86 selftests without any fuss.

Cc: Sean Christopherson <[email protected]>
Cc: "Peter Zijlstra (Intel)" <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: Andy Lutomirski <[email protected]>
Cc: Jann Horn <[email protected]>
Cc: [email protected]

Reply via email to