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 >