KVM: VMX: Call vmx_get_cpl() directly in handle_dr()
authorSean Christopherson <seanjc@google.com>
Fri, 28 Jan 2022 00:51:52 +0000 (00:51 +0000)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 10 Feb 2022 18:47:17 +0000 (13:47 -0500)
Use vmx_get_cpl() instead of bouncing through kvm_x86_ops.get_cpl() when
performing a CPL check on MOV DR accesses.  This avoids a RETPOLINE (when
enabled), and more importantly removes a vendor reference to kvm_x86_ops
and helps pave the way for unexporting kvm_x86_ops.

Signed-off-by: Sean Christopherson <seanjc@google.com>
Message-Id: <20220128005208.4008533-7-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/vmx/vmx.c

index 2ce98ed..ac8a955 100644 (file)
@@ -5184,7 +5184,7 @@ static int handle_dr(struct kvm_vcpu *vcpu)
        if (!kvm_require_dr(vcpu, dr))
                return 1;
 
-       if (kvm_x86_ops.get_cpl(vcpu) > 0)
+       if (vmx_get_cpl(vcpu) > 0)
                goto out;
 
        dr7 = vmcs_readl(GUEST_DR7);