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 <[email protected]>
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 <[email protected]>
---
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
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 <[email protected]>
> 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 <[email protected]>
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