Messages in this thread | | | Date | Thu, 20 Jan 2022 15:44:04 +0000 | Subject | Re: [PATCH 6/9] KVM: SVM: WARN if KVM attempts emulation on #UD or #GP for SEV guests | From | Liam Merwick <> |
| |
On 20/01/2022 01:07, Sean Christopherson wrote: > WARN if KVM attempts to emulate in response to #UD or #GP for SEV guests, > i.e. if KVM intercepts #UD or #GP, as emulation on any fault except #NPF > is impossible since KVM cannot read guest private memory to get the code > stream, and the CPU's DecodeAssists feature only provides the instruction > bytes on #NPF. > > Signed-off-by: Sean Christopherson <seanjc@google.com> > --- > arch/x86/kvm/svm/svm.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c > index 994224ae2731..ed2ca875b84b 100644 > --- a/arch/x86/kvm/svm/svm.c > +++ b/arch/x86/kvm/svm/svm.c > @@ -4267,6 +4267,9 @@ static bool svm_can_emulate_instruction(struct kvm_vcpu *vcpu, int emul_type, > if (!sev_guest(vcpu->kvm)) > return true; > > + /* #UD and #GP should never be intercepted for SEV guests. */ > + WARN_ON_ONCE(emul_type & (EMULTYPE_TRAP_UD | EMULTYPE_VMWARE_GP));
What about EMULTYPE_TRAP_UD_FORCED?
Otherwise Reviewed-by: Liam Merwick <liam.merwick@oracle.com>
> + > /* > * Emulation is impossible for SEV-ES guests as KVM doesn't have access > * to guest register state.
| |