Messages in this thread Patch in this message | | | Date | Tue, 23 Nov 2021 08:04:34 +0100 | From | Borislav Petkov <> | Subject | Re: linux-next: build warnings in Linus' tree |
| |
On Tue, Nov 23, 2021 at 09:44:19AM +1100, Stephen Rothwell wrote: > Hi all, > > Building Linus' tree, today's linux-next build (x86_64 allmodconfig) > produced these warnings: > > WARNING: modpost: vmlinux.o(.text.unlikely+0x63df): Section mismatch in reference from the function prepare_command_line() to the variable .init.data:builtin_cmdline > The function prepare_command_line() references > the variable __initdata builtin_cmdline. > This is often because prepare_command_line lacks a __initdata > annotation or the annotation of builtin_cmdline is wrong.
Doesn't trigger with my toolchain, because it simply inlines that function.
Anyway, fix is trivial, thanks for reporting.
--- From 4f4226a7dce0c5b6d911574f7fa5870c4ee693ff Mon Sep 17 00:00:00 2001 From: Borislav Petkov <bp@suse.de> Date: Tue, 23 Nov 2021 07:53:57 +0100 Subject: [PATCH] x86/boot: Mark prepare_command_line() __init
Fix:
WARNING: modpost: vmlinux.o(.text.unlikely+0x64d0): Section mismatch in reference \ from the function prepare_command_line() to the variable .init.data:command_line The function prepare_command_line() references the variable __initdata command_line. This is often because prepare_command_line lacks a __initdata annotation or the annotation of command_line is wrong.
Apparently some toolchains do different inlining decisions.
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Borislav Petkov <bp@suse.de> Link: https://lore.kernel.org/r/20211123094419.08000327@canb.auug.org.au --- arch/x86/kernel/setup.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c index c410be738ae7..6a190c7f4d71 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c @@ -742,7 +742,7 @@ dump_kernel_offset(struct notifier_block *self, unsigned long v, void *p) return 0; } -static char *prepare_command_line(void) +static char * __init prepare_command_line(void) { #ifdef CONFIG_CMDLINE_BOOL #ifdef CONFIG_CMDLINE_OVERRIDE -- 2.29.2 -- Regards/Gruss, Boris.
SUSE Software Solutions Germany GmbH, GF: Ivo Totev, HRB 36809, AG Nürnberg
| |