On Thu, 2022-07-28 at 22:17 +0000, Sean Christopherson wrote: > Mark kvm_mmu_x86_module_init() with __init, the entire reason it exists > is to initialize variables when kvm.ko is loaded, i.e. it must never be > called after module initialization. > > Fixes: 1d0e84806047 ("KVM: x86/mmu: Resolve nx_huge_pages when kvm.ko is loaded") > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Sean Christopherson <seanjc@xxxxxxxxxx> > --- > arch/x86/include/asm/kvm_host.h | 2 +- > arch/x86/kvm/mmu/mmu.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h > index e8281d64a431..5ffa578cafe1 100644 > --- a/arch/x86/include/asm/kvm_host.h > +++ b/arch/x86/include/asm/kvm_host.h > @@ -1704,7 +1704,7 @@ static inline int kvm_arch_flush_remote_tlb(struct kvm *kvm) > #define kvm_arch_pmi_in_guest(vcpu) \ > ((vcpu) && (vcpu)->arch.handling_intr_from_guest) > > -void kvm_mmu_x86_module_init(void); > +void __init kvm_mmu_x86_module_init(void); > int kvm_mmu_vendor_module_init(void); > void kvm_mmu_vendor_module_exit(void); > > diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c > index 8e477333a263..2975fcb14c86 100644 > --- a/arch/x86/kvm/mmu/mmu.c > +++ b/arch/x86/kvm/mmu/mmu.c > @@ -6700,7 +6700,7 @@ static int set_nx_huge_pages(const char *val, const struct kernel_param *kp) > * nx_huge_pages needs to be resolved to true/false when kvm.ko is loaded, as > * its default value of -1 is technically undefined behavior for a boolean. > */ > -void kvm_mmu_x86_module_init(void) > +void __init kvm_mmu_x86_module_init(void) > { > if (nx_huge_pages == -1) > __set_nx_huge_pages(get_nx_auto_mode()); Reviewed-by: Kai Huang <kai.huang@xxxxxxxxx> -- Thanks, -Kai