On Mon, May 17, 2021, Dave Hansen wrote: > 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. I like that idea, too. The flag might also be useful to fix the issue where the NMI handler activates PEBS after KVM disables it. Jim? > 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.