Re: RFC: userspace exception fixups

From: Dave Hansen
Date: Wed Nov 07 2018 - 15:57:02 EST


On 11/7/18 11:01 AM, Sean Christopherson wrote:
> Going off comments in similar code related to UMIP, we'd need to figure
> out how to handle protection keys.

There are two options:
1. Don't depend on the userspace mapping. Do get_user_pages() to find
the instruction in the kernel direct map, and use that.
2. Do a WRPKRU that allows read access, do the read, then put PKRU back.
This is a pain because of preemption and all that jazz.

Right now, we just let the prefetch instruction detection fail if you
mark it unreadable with pkeys. Tough cookies, basically. But, that's
just the kernel being nice, but you need it for functionality, so it's
tougher.