KVM: SVM: INTERCEPT_RDTSCP is never intercepted anyway
authorPaolo Bonzini <pbonzini@redhat.com>
Fri, 22 Sep 2023 21:06:34 +0000 (17:06 -0400)
committerPaolo Bonzini <pbonzini@redhat.com>
Sat, 23 Sep 2023 09:35:49 +0000 (05:35 -0400)
svm_recalc_instruction_intercepts() is always called at least once
before the vCPU is started, so the setting or clearing of the RDTSCP
intercept can be dropped from the TSC_AUX virtualization support.

Extracted from a patch by Tom Lendacky.

Cc: stable@vger.kernel.org
Fixes: 296d5a17e793 ("KVM: SEV-ES: Use V_TSC_AUX if available instead of RDTSC/MSR_TSC_AUX intercepts")
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/svm/sev.c

index b9a0a93..fa1fb81 100644 (file)
@@ -3027,11 +3027,8 @@ static void sev_es_init_vmcb(struct vcpu_svm *svm)
 
        if (boot_cpu_has(X86_FEATURE_V_TSC_AUX) &&
            (guest_cpuid_has(&svm->vcpu, X86_FEATURE_RDTSCP) ||
-            guest_cpuid_has(&svm->vcpu, X86_FEATURE_RDPID))) {
+            guest_cpuid_has(&svm->vcpu, X86_FEATURE_RDPID)))
                set_msr_interception(vcpu, svm->msrpm, MSR_TSC_AUX, 1, 1);
-               if (guest_cpuid_has(&svm->vcpu, X86_FEATURE_RDTSCP))
-                       svm_clr_intercept(svm, INTERCEPT_RDTSCP);
-       }
 }
 
 void sev_init_vmcb(struct vcpu_svm *svm)