KVM: nSVM: always restore the L1's GIF on migration
authorMaxim Levitsky <mlevitsk@redhat.com>
Tue, 4 May 2021 14:39:35 +0000 (17:39 +0300)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 7 May 2021 10:06:14 +0000 (06:06 -0400)
While usually the L1's GIF is set while L2 runs, and usually
migration nested state is loaded after a vCPU reset which
also sets L1's GIF to true, this is not guaranteed.

Signed-off-by: Maxim Levitsky <mlevitsk@redhat.com>
Message-Id: <20210504143936.1644378-2-mlevitsk@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/svm/nested.c

index 32400cb..b331446 100644 (file)
@@ -1314,6 +1314,8 @@ static int svm_set_nested_state(struct kvm_vcpu *vcpu,
        else
                svm->nested.vmcb02.ptr->save = svm->vmcb01.ptr->save;
 
+       svm_set_gif(svm, !!(kvm_state->flags & KVM_STATE_NESTED_GIF_SET));
+
        svm->nested.nested_run_pending =
                !!(kvm_state->flags & KVM_STATE_NESTED_RUN_PENDING);