On 5/17/21 10:49 AM, Andy Lutomirski wrote: >> The least awful solution would be to have the NMI handler restore >> the host's PKRU. The NMI handler would need to save/restore the >> register, a la CR2, but the whole thing could be optimized to run >> if and only if the NMI lands in the window where the guest's PKRU >> is loaded. > > Or set a flag causing nmi_uaccess_ok() to return false. Oh, that doesn't sound too bad. The VMENTER/EXIT paths are also essentially a context switch. Will widening the window where nmi_uaccess_okay()==false anger any of the perf folks? It looks like perf knows how to handle it nicely.