Re: [PATCH 10/14] KVM: x86: Remove unnecessary export of kvm_vcpu_is_reset_bsp()

From: Sean Christopherson
Date: Wed Nov 30 2022 - 21:07:23 EST


On Mon, Nov 14, 2022, Like Xu wrote:
> From: Like Xu <likexu@xxxxxxxxxxx>
>
> Don't export x86's kvm_vcpu_is_reset_bsp(), the helper isn't used by
> KVM x86's vendor modules. Move up the code block out of existing
> callers' need.

Again, no. kvm_vcpu_is_reset_bsp() is declared by kvm_vcpu_is_reset_bsp(). The
lack of "static" is the first clue, and the fact that KVM compiles without issue
today is the second clue. EXPORT_SYMBOL_GPL() only affects resolving module
dependencies, it doesn't provide any information to the compiler about function
prototypes.

> Signed-off-by: Like Xu <likexu@xxxxxxxxxxx>
> ---
> arch/x86/kvm/x86.c | 11 +++++------
> 1 file changed, 5 insertions(+), 6 deletions(-)
>
> diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
> index f325710a4f25..f3cb3e02bfa6 100644
> --- a/arch/x86/kvm/x86.c
> +++ b/arch/x86/kvm/x86.c
> @@ -11496,6 +11496,11 @@ int kvm_arch_vcpu_precreate(struct kvm *kvm, unsigned int id)
> return static_call(kvm_x86_vcpu_precreate)(kvm);
> }
>
> +bool kvm_vcpu_is_reset_bsp(struct kvm_vcpu *vcpu)
> +{
> + return vcpu->kvm->arch.bsp_vcpu_id == vcpu->vcpu_id;
> +}
> +
> int kvm_arch_vcpu_create(struct kvm_vcpu *vcpu)
> {
> struct page *page;
> @@ -11993,12 +11998,6 @@ int kvm_arch_check_processor_compat(void *opaque)
> return ops->check_processor_compatibility();
> }
>
> -bool kvm_vcpu_is_reset_bsp(struct kvm_vcpu *vcpu)
> -{
> - return vcpu->kvm->arch.bsp_vcpu_id == vcpu->vcpu_id;
> -}
> -EXPORT_SYMBOL_GPL(kvm_vcpu_is_reset_bsp);
> -
> bool kvm_vcpu_is_bsp(struct kvm_vcpu *vcpu)
> {
> return (vcpu->arch.apic_base & MSR_IA32_APICBASE_BSP) != 0;
> --
> 2.38.1
>