Re: [PATCH v2 02/22] KVM: SVM: leave halted state on vmexit

From: Oliver Upton
Date: Fri Apr 24 2020 - 13:41:59 EST


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
>
>