From: Sean Christopherson Date: Tue, 23 Apr 2024 22:15:19 +0000 (-0700) Subject: KVM: SVM: Use KVM's snapshot of the host's XCR0 for SEV-ES host state X-Git-Tag: v6.11-rc1~89^2~14^2~23 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=52c47f5897b69cdde0d23e5102b44eb161fa70a8;p=thirdparty%2Flinux.git KVM: SVM: Use KVM's snapshot of the host's XCR0 for SEV-ES host state 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 --- diff --git a/arch/x86/kvm/svm/sev.c b/arch/x86/kvm/svm/sev.c index 0435fab4f5366..e327b37f78e4a 100644 --- a/arch/x86/kvm/svm/sev.c +++ b/arch/x86/kvm/svm/sev.c @@ -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;