Re: [PATCH] KVM: arm64: remove incorrect __init annotation
From: Marc Zyngier
Date: Sun Jan 03 2021 - 11:44:41 EST
On Sun, 03 Jan 2021 14:00:50 +0000,
Arnd Bergmann <arnd@xxxxxxxxxx> wrote:
>
> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> When hyp_cpu_pm_exit() is not inlined, it causes a link time warning:
>
> WARNING: modpost: vmlinux.o(.text+0x39974): 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.
>
> This is not only called at boot time, so remove the annotation
> to prevent undefined behavior in case it gets called after being
> freed.
It *is* only called at boot time (despite these functions being called
from module_init(), KVM cannot be built as a module on arm64).
The annotations are wrong nonetheless.
>
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
Posted here [1], and queued for the next batch of fixes.
M.
[1] https://lore.kernel.org/linux-arm-kernel/20201223120854.255347-1-maz@xxxxxxxxxx
--
Without deviation from the norm, progress is not possible.