2023-07-26 22:47:33

by kernel test robot

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

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/[email protected]/config)
compiler: hppa-linux-gcc (GCC) 12.3.0
reproduce: (https://download.01.org/0day-ci/archive/20230727/[email protected]/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 <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

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;
| ^~~~~~~~~~~~~~~
--
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


2023-07-26 22:54:30

by Paul E. McKenney

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

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/[email protected]/config)
> compiler: hppa-linux-gcc (GCC) 12.3.0
> reproduce: (https://download.01.org/0day-ci/archive/20230727/[email protected]/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 <[email protected]>
> | Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/
>
> 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