]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
KVM: SVM: Use KVM's snapshot of the host's XCR0 for SEV-ES host state
authorSean Christopherson <seanjc@google.com>
Tue, 23 Apr 2024 22:15:19 +0000 (15:15 -0700)
committerSean Christopherson <seanjc@google.com>
Mon, 3 Jun 2024 15:58:54 +0000 (08:58 -0700)
Use KVM's snapshot of the host's XCR0 when stuffing SEV-ES host state
instead of reading XCR0 from hardware.  XCR0 is only written during
boot, i.e. won't change while KVM is running (and KVM at large is hosed
if that doesn't hold true).

Link: https://lore.kernel.org/r/20240423221521.2923759-3-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
arch/x86/kvm/svm/sev.c

index 0435fab4f5366053ff3447bafb9c7adae4d61a63..e327b37f78e4a6601566cc22922595c1c6b06bd2 100644 (file)
@@ -3322,7 +3322,7 @@ void sev_es_prepare_switch_to_guest(struct vcpu_svm *svm, struct sev_es_save_are
         * isn't saved by VMRUN, that isn't already saved by VMSAVE (performed
         * by common SVM code).
         */
-       hostsa->xcr0 = xgetbv(XCR_XFEATURE_ENABLED_MASK);
+       hostsa->xcr0 = kvm_host.xcr0;
        hostsa->pkru = read_pkru();
        hostsa->xss = kvm_host.xss;