Messages in this thread | | | Date | Mon, 18 May 2020 23:02:02 -0700 | From | Sean Christopherson <> | Subject | Re: [PATCH] KVM: x86: emulate reserved nops from 0f/18 to 0f/1f |
| |
On Mon, May 18, 2020 at 07:37:08PM +0200, Paolo Bonzini wrote: > On 18/05/20 18:07, Sean Christopherson wrote: > > On Fri, May 15, 2020 at 12:19:19PM -0400, Paolo Bonzini wrote: > >> Instructions starting with 0f18 up to 0f1f are reserved nops, except those > >> that were assigned to MPX. > > Well, they're probably reserved NOPs again :-D. > > So are you suggesting adding them back to the list as well?
Doesn't KVM still support MPX?
> >> These include the endbr markers used by CET. > > And RDSPP. Wouldn't it make sense to treat RDSPP as a #UD even though it's > > a NOP if CET is disabled? The logic being that a sane guest will execute > > RDSSP iff CET is enabled, and in that case it'd be better to inject a #UD > > than to silently break the guest. > > We cannot assume that guests will bother checking CPUID before invoking > RDSPP. This is especially true userspace, which needs to check if CET > is enable for itself and can only use RDSPP to do so.
Ugh, yeah, just read through the CET enabling thread that showed code snippets that do exactly this.
I assume it would be best to make SHSTK dependent on unrestricted guest? Emulating RDSPP by reading vmcs.GUEST_SSP seems pointless as it will become statle apart on the first emulated CALL/RET.
| |