Re: linux-next: build failure after merge of the rcu tree

Paul E. McKenney
2023-07-27T14:08:48Z

On Thu, Jul 27, 2023 at 02:19:30PM +1000, Stephen Rothwell wrote:
> Hi all,
>
> After merging the rcu tree, today's linux-next build (arm64 defconfig)
> failed like this:
>
> In file included from arch/arm64/include/asm/alternative.h:9,
> from arch/arm64/include/asm/lse.h:14,
> from arch/arm64/include/asm/cmpxchg.h:14,
> from arch/arm64/include/asm/atomic.h:16,
> from include/linux/atomic.h:7,
> from include/asm-generic/bitops/atomic.h:5,
> from arch/arm64/include/asm/bitops.h:25,
> from include/linux/bitops.h:68,
> from arch/arm64/include/asm/cache.h:40,
> from include/linux/cache.h:6,
> from include/linux/slab.h:15,
> from include/linux/resource_ext.h:11,
> from include/linux/acpi.h:13,
> from include/acpi/apei.h:9,
> from include/acpi/ghes.h:5,
> from include/linux/arm_sdei.h:8,
> from arch/arm64/kernel/asm-offsets.c:10:
> include/linux/init.h:149:33: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__ro_after_init'
> 149 | extern char boot_command_line[] __ro_after_init;
> | ^~~~~~~~~~~~~~~
>
> Caused by commit
>
> de2f542cfbec ("fs/proc: Add /proc/cmdline_load for boot loader arguments")
>
> I have applied the following fix up (I have a faint memory that the
> section setting attributes are only needed on the definition, not the
> declaration):
>
> From 9f56e539ed7d9c402caa85d4f5f3f8cec8373b2f Mon Sep 17 00:00:00 2001
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Thu, 27 Jul 2023 13:26:08 +1000
> Subject: [PATCH] fix up for "fs/proc: Add /proc/cmdline_load for boot loader
> arguments"
>
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>

Thank you, Stephen, I will adjust the commit as shown below.

Thanx, Paul

> ---
> include/linux/init.h | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/include/linux/init.h b/include/linux/init.h
> index e3ce68988e1b..c075983c5015 100644
> --- a/include/linux/init.h
> +++ b/include/linux/init.h
> @@ -113,8 +113,6 @@
>
> #ifndef __ASSEMBLY__
>
> -#include <linux/cache.h>
> -
> /*
> * Used for initialization calls..
> */
> @@ -146,7 +144,7 @@ struct file_system_type;
>
> /* Defined in init/main.c */
> extern int do_one_initcall(initcall_t fn);
> -extern char boot_command_line[] __ro_after_init;
> +extern char boot_command_line[];
> extern char *saved_command_line;
> extern unsigned int saved_command_line_len;
> extern unsigned int reset_devices;
> --
> 2.40.1
>
> --
> Cheers,
> Stephen Rothwell