* [PATCH] KVM: arm64: Fix section mismatches around hyp_cpu_pm_{init,exit}
@ 2020-12-29 21:43 Nathan Chancellor
2020-12-29 22:11 ` Marc Zyngier
0 siblings, 1 reply; 3+ messages in thread
From: Nathan Chancellor @ 2020-12-29 21:43 UTC (permalink / raw)
To: Marc Zyngier
Cc: James Morse, Julien Thierry, Suzuki K Poulose, Catalin Marinas,
Will Deacon, linux-arm-kernel, kvmarm, clang-built-linux,
linux-kernel, Nathan Chancellor
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(-)
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);
base-commit: 5c8fe583cce542aa0b84adc939ce85293de36e5e
--
2.30.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] KVM: arm64: Fix section mismatches around hyp_cpu_pm_{init,exit}
2020-12-29 21:43 [PATCH] KVM: arm64: Fix section mismatches around hyp_cpu_pm_{init,exit} Nathan Chancellor
@ 2020-12-29 22:11 ` Marc Zyngier
2020-12-29 22:33 ` Nathan Chancellor
0 siblings, 1 reply; 3+ messages in thread
From: Marc Zyngier @ 2020-12-29 22:11 UTC (permalink / raw)
To: Nathan Chancellor
Cc: James Morse, Julien Thierry, Suzuki K Poulose, Catalin Marinas,
Will Deacon, linux-arm-kernel, kvmarm, clang-built-linux,
linux-kernel
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...
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] KVM: arm64: Fix section mismatches around hyp_cpu_pm_{init,exit}
2020-12-29 22:11 ` Marc Zyngier
@ 2020-12-29 22:33 ` Nathan Chancellor
0 siblings, 0 replies; 3+ messages in thread
From: Nathan Chancellor @ 2020-12-29 22:33 UTC (permalink / raw)
To: Marc Zyngier
Cc: James Morse, Julien Thierry, Suzuki K Poulose, Catalin Marinas,
Will Deacon, linux-arm-kernel, kvmarm, clang-built-linux,
linux-kernel
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
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-12-29 22:34 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-29 21:43 [PATCH] KVM: arm64: Fix section mismatches around hyp_cpu_pm_{init,exit} Nathan Chancellor
2020-12-29 22:11 ` Marc Zyngier
2020-12-29 22:33 ` Nathan Chancellor
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).