KVM: xen: Use static_call() for invoking kvm_x86_ops hooks
authorSean Christopherson <seanjc@google.com>
Fri, 28 Jan 2022 00:51:53 +0000 (00:51 +0000)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 10 Feb 2022 18:47:18 +0000 (13:47 -0500)
Use static_call() for invoking kvm_x86_ops function that already have a
defined static call, mostly as a step toward having _all_ calls to
kvm_x86_ops route through a static_call() in order to simplify auditing,
e.g. via grep, that all functions have an entry in kvm-x86-ops.h, but
also because there's no reason not to use a static_call().

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

index 74be1fd..4aa0f2b 100644 (file)
@@ -732,7 +732,7 @@ int kvm_xen_write_hypercall_page(struct kvm_vcpu *vcpu, u64 data)
                instructions[0] = 0xb8;
 
                /* vmcall / vmmcall */
-               kvm_x86_ops.patch_hypercall(vcpu, instructions + 5);
+               static_call(kvm_x86_patch_hypercall)(vcpu, instructions + 5);
 
                /* ret */
                instructions[8] = 0xc3;
@@ -867,7 +867,7 @@ int kvm_xen_hypercall(struct kvm_vcpu *vcpu)
        vcpu->run->exit_reason = KVM_EXIT_XEN;
        vcpu->run->xen.type = KVM_EXIT_XEN_HCALL;
        vcpu->run->xen.u.hcall.longmode = longmode;
-       vcpu->run->xen.u.hcall.cpl = kvm_x86_ops.get_cpl(vcpu);
+       vcpu->run->xen.u.hcall.cpl = static_call(kvm_x86_get_cpl)(vcpu);
        vcpu->run->xen.u.hcall.input = input;
        vcpu->run->xen.u.hcall.params[0] = params[0];
        vcpu->run->xen.u.hcall.params[1] = params[1];