Re: [paulmck-rcu:dev.2023.07.24a 26/26] include/linux/init.h:149:33: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__ro_after_init'

From: Paul E. McKenney
Date: Wed Jul 26 2023 - 18:37:23 EST


On Thu, Jul 27, 2023 at 06:11:50AM +0800, kernel test robot wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev.2023.07.24a
> head: aaeb7f70ca6fef20998ac6aa580e42ca7b85fb7f
> commit: aaeb7f70ca6fef20998ac6aa580e42ca7b85fb7f [26/26] squash! fs/proc: Add /proc/cmdline_load for boot loader arguments
> config: parisc-randconfig-r006-20230726 (https://download.01.org/0day-ci/archive/20230727/202307270622.15fzt0V1-lkp@xxxxxxxxx/config)
> compiler: hppa-linux-gcc (GCC) 12.3.0
> reproduce: (https://download.01.org/0day-ci/archive/20230727/202307270622.15fzt0V1-lkp@xxxxxxxxx/reproduce)
>
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <lkp@xxxxxxxxx>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202307270622.15fzt0V1-lkp@xxxxxxxxx/
>
> All error/warnings (new ones prefixed by >>):
>
> In file included from arch/parisc/include/asm/alternative.h:18,
> from arch/parisc/include/asm/cache.h:9,
> from include/linux/cache.h:6,
> from include/linux/slab.h:15,
> from drivers/w1/w1_netlink.c:6:
> >> include/linux/init.h:149:33: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__ro_after_init'
> 149 | extern char boot_command_line[] __ro_after_init;
> | ^~~~~~~~~~~~~~~

This is since fixed courtesy of fixes from Stephen Rothwell and Arnd
Bergmann, which I folded into the original:

de2f542cfbec ("fs/proc: Add /proc/cmdline_load for boot loader arguments")

Thanx, Paul

> --
> In file included from include/linux/init.h:116,
> from arch/parisc/include/asm/alternative.h:18,
> from arch/parisc/include/asm/cache.h:9,
> from arch/parisc/include/asm/page.h:23,
> from arch/parisc/include/asm/pgtable.h:5,
> from include/linux/pgtable.h:6,
> from arch/parisc/include/asm/io.h:6,
> from drivers/w1/w1_io.c:6:
> >> include/linux/cache.h:72:31: error: 'L1_CACHE_SHIFT' undeclared here (not in a function); did you mean 'L1_CACHE_ALIGN'?
> 72 | #define INTERNODE_CACHE_SHIFT L1_CACHE_SHIFT
> | ^~~~~~~~~~~~~~
> include/linux/cache.h:78:42: note: in expansion of macro 'INTERNODE_CACHE_SHIFT'
> 78 | __attribute__((__aligned__(1 << (INTERNODE_CACHE_SHIFT))))
> | ^~~~~~~~~~~~~~~~~~~~~
> include/linux/cache.h:95:3: note: in expansion of macro '____cacheline_internodealigned_in_smp'
> 95 | } ____cacheline_internodealigned_in_smp;
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >> arch/parisc/include/asm/cache.h:23: warning: "ARCH_DMA_MINALIGN" redefined
> 23 | #define ARCH_DMA_MINALIGN L1_CACHE_BYTES
> |
> include/linux/cache.h:104: note: this is the location of the previous definition
> 104 | #define ARCH_DMA_MINALIGN __alignof__(unsigned long long)
> |
> >> arch/parisc/include/asm/cache.h:25: warning: "__read_mostly" redefined
> 25 | #define __read_mostly __section(".data..read_mostly")
> |
> include/linux/cache.h:28: note: this is the location of the previous definition
> 28 | #define __read_mostly
> |
>
>
> vim +149 include/linux/init.h
>
> 146
> 147 /* Defined in init/main.c */
> 148 extern int do_one_initcall(initcall_t fn);
> > 149 extern char boot_command_line[] __ro_after_init;
> 150 extern char *saved_command_line;
> 151 extern unsigned int saved_command_line_len;
> 152 extern unsigned int reset_devices;
> 153 extern char saved_bootconfig_string[];
> 154
>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki