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.