On Fri, Apr 24, 2020 at 01:23:56PM -0400, Paolo Bonzini wrote: > Similar to VMX, we need to leave the halted state when performing a vmexit. > Failure to do so will cause a hang after vmexit. > > Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Oliver Upton <oupton@xxxxxxxxxx> > --- > arch/x86/kvm/svm/nested.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/arch/x86/kvm/svm/nested.c b/arch/x86/kvm/svm/nested.c > index 51cfab68428d..e69e60ac1370 100644 > --- a/arch/x86/kvm/svm/nested.c > +++ b/arch/x86/kvm/svm/nested.c > @@ -472,6 +472,9 @@ int nested_svm_vmexit(struct vcpu_svm *svm) > leave_guest_mode(&svm->vcpu); > svm->nested.vmcb = 0; > > + /* in case we halted in L2 */ > + svm->vcpu.arch.mp_state = KVM_MP_STATE_RUNNABLE; > + > /* Give the current vmcb to the guest */ > disable_gif(svm); > > -- > 2.18.2 > >