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

From: Stephen Rothwell <[email-masked]>
Date: Thu, 27 Jul 2023 14:19:30 +1000

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-masked]>
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-masked]>
---
 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