Message ID | 20201229214336.4098955-1-natechancellor@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | KVM: arm64: Fix section mismatches around hyp_cpu_pm_{init, exit} | expand |
On 2020-12-29 21:43, Nathan Chancellor wrote: > Commit fa8c3d65538a ("KVM: arm64: Keep nVHE EL2 vector installed") > inadvertently changed clang's inlining decisions around > hyp_cpu_pm_{init,exit}, causing the following section mismatch > warnings: > > WARNING: modpost: vmlinux.o(.text+0x95c6c): Section mismatch in > reference from the function kvm_arch_init() to the function > .init.text:hyp_cpu_pm_exit() > The function kvm_arch_init() references > the function __init hyp_cpu_pm_exit(). > This is often because kvm_arch_init lacks a __init > annotation or the annotation of hyp_cpu_pm_exit is wrong. > > WARNING: modpost: vmlinux.o(.text+0x97054): Section mismatch in > reference from the function init_subsystems() to the function > .init.text:hyp_cpu_pm_init() > The function init_subsystems() references > the function __init hyp_cpu_pm_init(). > This is often because init_subsystems lacks a __init > annotation or the annotation of hyp_cpu_pm_init is wrong. > > Remove the __init annotation so that there are no warnings regardless > of > how functions are inlined. > > Fixes: 1fcf7ce0c602 ("arm: kvm: implement CPU PM notifier") > Fixes: 06a71a24bae5 ("arm64: KVM: unregister notifiers in hyp mode > teardown path") > Link: https://github.com/ClangBuiltLinux/linux/issues/1230 > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> Hi Nathan, Already posted[1] last week. Thanks, M. [1] htps://lore.kernel.org/r/20201223120854.255347-1-maz@kernel.org
On Tue, Dec 29, 2020 at 10:11:07PM +0000, Marc Zyngier wrote: > On 2020-12-29 21:43, Nathan Chancellor wrote: > > Commit fa8c3d65538a ("KVM: arm64: Keep nVHE EL2 vector installed") > > inadvertently changed clang's inlining decisions around > > hyp_cpu_pm_{init,exit}, causing the following section mismatch warnings: > > > > WARNING: modpost: vmlinux.o(.text+0x95c6c): Section mismatch in > > reference from the function kvm_arch_init() to the function > > .init.text:hyp_cpu_pm_exit() > > The function kvm_arch_init() references > > the function __init hyp_cpu_pm_exit(). > > This is often because kvm_arch_init lacks a __init > > annotation or the annotation of hyp_cpu_pm_exit is wrong. > > > > WARNING: modpost: vmlinux.o(.text+0x97054): Section mismatch in > > reference from the function init_subsystems() to the function > > .init.text:hyp_cpu_pm_init() > > The function init_subsystems() references > > the function __init hyp_cpu_pm_init(). > > This is often because init_subsystems lacks a __init > > annotation or the annotation of hyp_cpu_pm_init is wrong. > > > > Remove the __init annotation so that there are no warnings regardless of > > how functions are inlined. > > > > Fixes: 1fcf7ce0c602 ("arm: kvm: implement CPU PM notifier") > > Fixes: 06a71a24bae5 ("arm64: KVM: unregister notifiers in hyp mode > > teardown path") > > Link: https://github.com/ClangBuiltLinux/linux/issues/1230 > > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> > > Hi Nathan, > > Already posted[1] last week. > > Thanks, > > M. > > [1] htps://lore.kernel.org/r/20201223120854.255347-1-maz@kernel.org > -- > Jazz is not dead. It just smells funny... Sorry for the duplicate, I am usually good at spotting that :( Cheers, Nathan
diff --git a/arch/arm64/kvm/arm.c b/arch/arm64/kvm/arm.c index 6e637d2b4cfb..71a49eae9ea0 100644 --- a/arch/arm64/kvm/arm.c +++ b/arch/arm64/kvm/arm.c @@ -1574,12 +1574,12 @@ static struct notifier_block hyp_init_cpu_pm_nb = { .notifier_call = hyp_init_cpu_pm_notifier, }; -static void __init hyp_cpu_pm_init(void) +static void hyp_cpu_pm_init(void) { if (!is_protected_kvm_enabled()) cpu_pm_register_notifier(&hyp_init_cpu_pm_nb); } -static void __init hyp_cpu_pm_exit(void) +static void hyp_cpu_pm_exit(void) { if (!is_protected_kvm_enabled()) cpu_pm_unregister_notifier(&hyp_init_cpu_pm_nb);
Commit fa8c3d65538a ("KVM: arm64: Keep nVHE EL2 vector installed") inadvertently changed clang's inlining decisions around hyp_cpu_pm_{init,exit}, causing the following section mismatch warnings: WARNING: modpost: vmlinux.o(.text+0x95c6c): Section mismatch in reference from the function kvm_arch_init() to the function .init.text:hyp_cpu_pm_exit() The function kvm_arch_init() references the function __init hyp_cpu_pm_exit(). This is often because kvm_arch_init lacks a __init annotation or the annotation of hyp_cpu_pm_exit is wrong. WARNING: modpost: vmlinux.o(.text+0x97054): Section mismatch in reference from the function init_subsystems() to the function .init.text:hyp_cpu_pm_init() The function init_subsystems() references the function __init hyp_cpu_pm_init(). This is often because init_subsystems lacks a __init annotation or the annotation of hyp_cpu_pm_init is wrong. Remove the __init annotation so that there are no warnings regardless of how functions are inlined. Fixes: 1fcf7ce0c602 ("arm: kvm: implement CPU PM notifier") Fixes: 06a71a24bae5 ("arm64: KVM: unregister notifiers in hyp mode teardown path") Link: https://github.com/ClangBuiltLinux/linux/issues/1230 Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> --- arch/arm64/kvm/arm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) base-commit: 5c8fe583cce542aa0b84adc939ce85293de36e5e