All of lore.kernel.org
 help / color / mirror / Atom feed
* [powerpc:fixes-test 10/12] include/linux/static_call.h:223:9: warning: data definition has no type or storage class
@ 2026-07-11  1:52 kernel test robot
  2026-07-11  7:40 ` Christophe Leroy (CS GROUP)
  0 siblings, 1 reply; 3+ messages in thread
From: kernel test robot @ 2026-07-11  1:52 UTC (permalink / raw)
  To: Christophe Leroy (CS GROUP)
  Cc: oe-kbuild-all, linuxppc-dev, Madhavan Srinivasan, Shrikanth Hegde

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git fixes-test
head:   afc2830892a128a13a65f677271a0a48aeb61b5e
commit: 4747e17fe063720a30b1c0075bae3e8f8acd26f4 [10/12] powerpc/32: Use HAVE_PREEMPT_DYNAMIC_CALL instead of HAVE_PREEMPT_DYNAMIC_KEY
config: powerpc-randconfig-001-20260711 (https://download.01.org/0day-ci/archive/20260711/202607110847.u4TL0RJC-lkp@intel.com/config)
compiler: powerpc-linux-gcc (GCC) 11.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260711/202607110847.u4TL0RJC-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202607110847.u4TL0RJC-lkp@intel.com/

All warnings (new ones prefixed by >>):

   In file included from include/linux/tracepoint.h:22,
                    from include/trace/syscall.h:5,
                    from include/linux/syscalls.h:95,
                    from include/linux/syscalls_api.h:1,
                    from kernel/sched/core.c:16:
>> include/linux/static_call.h:223:9: warning: data definition has no type or storage class
     223 |         ARCH_ADD_TRAMP_KEY(name)
         |         ^~~~~~~~~~~~~~~~~~
   kernel/sched/core.c:7449:1: note: in expansion of macro 'EXPORT_STATIC_CALL_TRAMP'
    7449 | EXPORT_STATIC_CALL_TRAMP(preempt_schedule);
         | ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/static_call.h:223:9: error: type defaults to 'int' in declaration of 'ARCH_ADD_TRAMP_KEY' [-Werror=implicit-int]
     223 |         ARCH_ADD_TRAMP_KEY(name)
         |         ^~~~~~~~~~~~~~~~~~
   kernel/sched/core.c:7449:1: note: in expansion of macro 'EXPORT_STATIC_CALL_TRAMP'
    7449 | EXPORT_STATIC_CALL_TRAMP(preempt_schedule);
         | ^~~~~~~~~~~~~~~~~~~~~~~~
>> kernel/sched/core.c:7449:1: warning: parameter names (without types) in function declaration
   In file included from include/linux/tracepoint.h:22,
                    from include/trace/syscall.h:5,
                    from include/linux/syscalls.h:95,
                    from include/linux/syscalls_api.h:1,
                    from kernel/sched/core.c:16:
>> include/linux/static_call.h:223:9: warning: data definition has no type or storage class
     223 |         ARCH_ADD_TRAMP_KEY(name)
         |         ^~~~~~~~~~~~~~~~~~
   kernel/sched/core.c:7522:1: note: in expansion of macro 'EXPORT_STATIC_CALL_TRAMP'
    7522 | EXPORT_STATIC_CALL_TRAMP(preempt_schedule_notrace);
         | ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/static_call.h:223:9: error: type defaults to 'int' in declaration of 'ARCH_ADD_TRAMP_KEY' [-Werror=implicit-int]
     223 |         ARCH_ADD_TRAMP_KEY(name)
         |         ^~~~~~~~~~~~~~~~~~
   kernel/sched/core.c:7522:1: note: in expansion of macro 'EXPORT_STATIC_CALL_TRAMP'
    7522 | EXPORT_STATIC_CALL_TRAMP(preempt_schedule_notrace);
         | ^~~~~~~~~~~~~~~~~~~~~~~~
   kernel/sched/core.c:7522:1: warning: parameter names (without types) in function declaration
   In file included from include/linux/tracepoint.h:22,
                    from include/trace/syscall.h:5,
                    from include/linux/syscalls.h:95,
                    from include/linux/syscalls_api.h:1,
                    from kernel/sched/core.c:16:
>> include/linux/static_call.h:223:9: warning: data definition has no type or storage class
     223 |         ARCH_ADD_TRAMP_KEY(name)
         |         ^~~~~~~~~~~~~~~~~~
   kernel/sched/core.c:7769:1: note: in expansion of macro 'EXPORT_STATIC_CALL_TRAMP'
    7769 | EXPORT_STATIC_CALL_TRAMP(cond_resched);
         | ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/static_call.h:223:9: error: type defaults to 'int' in declaration of 'ARCH_ADD_TRAMP_KEY' [-Werror=implicit-int]
     223 |         ARCH_ADD_TRAMP_KEY(name)
         |         ^~~~~~~~~~~~~~~~~~
   kernel/sched/core.c:7769:1: note: in expansion of macro 'EXPORT_STATIC_CALL_TRAMP'
    7769 | EXPORT_STATIC_CALL_TRAMP(cond_resched);
         | ^~~~~~~~~~~~~~~~~~~~~~~~
   kernel/sched/core.c:7769:1: warning: parameter names (without types) in function declaration
   In file included from include/linux/tracepoint.h:22,
                    from include/trace/syscall.h:5,
                    from include/linux/syscalls.h:95,
                    from include/linux/syscalls_api.h:1,
                    from kernel/sched/core.c:16:
>> include/linux/static_call.h:223:9: warning: data definition has no type or storage class
     223 |         ARCH_ADD_TRAMP_KEY(name)
         |         ^~~~~~~~~~~~~~~~~~
   kernel/sched/core.c:7774:1: note: in expansion of macro 'EXPORT_STATIC_CALL_TRAMP'
    7774 | EXPORT_STATIC_CALL_TRAMP(might_resched);
         | ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/static_call.h:223:9: error: type defaults to 'int' in declaration of 'ARCH_ADD_TRAMP_KEY' [-Werror=implicit-int]
     223 |         ARCH_ADD_TRAMP_KEY(name)
         |         ^~~~~~~~~~~~~~~~~~
   kernel/sched/core.c:7774:1: note: in expansion of macro 'EXPORT_STATIC_CALL_TRAMP'
    7774 | EXPORT_STATIC_CALL_TRAMP(might_resched);
         | ^~~~~~~~~~~~~~~~~~~~~~~~
   kernel/sched/core.c:7774:1: warning: parameter names (without types) in function declaration
   cc1: some warnings being treated as errors


vim +223 include/linux/static_call.h

9183c3f9ed710a8 Josh Poimboeuf 2020-08-18  212  
9183c3f9ed710a8 Josh Poimboeuf 2020-08-18  213  #define EXPORT_STATIC_CALL(name)					\
9183c3f9ed710a8 Josh Poimboeuf 2020-08-18  214  	EXPORT_SYMBOL(STATIC_CALL_KEY(name));				\
9183c3f9ed710a8 Josh Poimboeuf 2020-08-18  215  	EXPORT_SYMBOL(STATIC_CALL_TRAMP(name))
9183c3f9ed710a8 Josh Poimboeuf 2020-08-18  216  #define EXPORT_STATIC_CALL_GPL(name)					\
9183c3f9ed710a8 Josh Poimboeuf 2020-08-18  217  	EXPORT_SYMBOL_GPL(STATIC_CALL_KEY(name));			\
9183c3f9ed710a8 Josh Poimboeuf 2020-08-18  218  	EXPORT_SYMBOL_GPL(STATIC_CALL_TRAMP(name))
9183c3f9ed710a8 Josh Poimboeuf 2020-08-18  219  
73f44fe19d35963 Josh Poimboeuf 2021-01-27  220  /* Leave the key unexported, so modules can't change static call targets: */
73f44fe19d35963 Josh Poimboeuf 2021-01-27  221  #define EXPORT_STATIC_CALL_TRAMP(name)					\
73f44fe19d35963 Josh Poimboeuf 2021-01-27  222  	EXPORT_SYMBOL(STATIC_CALL_TRAMP(name));				\
73f44fe19d35963 Josh Poimboeuf 2021-01-27 @223  	ARCH_ADD_TRAMP_KEY(name)
73f44fe19d35963 Josh Poimboeuf 2021-01-27  224  #define EXPORT_STATIC_CALL_TRAMP_GPL(name)				\
73f44fe19d35963 Josh Poimboeuf 2021-01-27  225  	EXPORT_SYMBOL_GPL(STATIC_CALL_TRAMP(name));			\
73f44fe19d35963 Josh Poimboeuf 2021-01-27  226  	ARCH_ADD_TRAMP_KEY(name)
73f44fe19d35963 Josh Poimboeuf 2021-01-27  227  

:::::: The code at line 223 was first introduced by commit
:::::: 73f44fe19d359635a607e8e8daa0da4001c1cfc2 static_call: Allow module use without exposing static_call_key

:::::: TO: Josh Poimboeuf <jpoimboe@redhat.com>
:::::: CC: Ingo Molnar <mingo@kernel.org>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [powerpc:fixes-test 10/12] include/linux/static_call.h:223:9: warning: data definition has no type or storage class
  2026-07-11  1:52 [powerpc:fixes-test 10/12] include/linux/static_call.h:223:9: warning: data definition has no type or storage class kernel test robot
@ 2026-07-11  7:40 ` Christophe Leroy (CS GROUP)
  2026-07-11 13:20   ` Shrikanth Hegde
  0 siblings, 1 reply; 3+ messages in thread
From: Christophe Leroy (CS GROUP) @ 2026-07-11  7:40 UTC (permalink / raw)
  To: kernel test robot, Madhavan Srinivasan
  Cc: oe-kbuild-all, linuxppc-dev, Shrikanth Hegde, Josh Poimboeuf



Le 11/07/2026 à 03:52, kernel test robot a écrit :
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git fixes-test
> head:   afc2830892a128a13a65f677271a0a48aeb61b5e
> commit: 4747e17fe063720a30b1c0075bae3e8f8acd26f4 [10/12] powerpc/32: Use HAVE_PREEMPT_DYNAMIC_CALL instead of HAVE_PREEMPT_DYNAMIC_KEY
> config: powerpc-randconfig-001-20260711 (https://download.01.org/0day-ci/archive/20260711/202607110847.u4TL0RJC-lkp@intel.com/config)
> compiler: powerpc-linux-gcc (GCC) 11.5.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260711/202607110847.u4TL0RJC-lkp@intel.com/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@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202607110847.u4TL0RJC-lkp@intel.com/
> 
> All warnings (new ones prefixed by >>):
> 
>     In file included from include/linux/tracepoint.h:22,
>                      from include/trace/syscall.h:5,
>                      from include/linux/syscalls.h:95,
>                      from include/linux/syscalls_api.h:1,
>                      from kernel/sched/core.c:16:
>>> include/linux/static_call.h:223:9: warning: data definition has no type or storage class
>       223 |         ARCH_ADD_TRAMP_KEY(name)

Looks like powerpc is missing ARCH_ADD_TRAMP() macro, introduced by 
commit 73f44fe19d35 ("static_call: Allow module use without exposing 
static_call_key") for x86. I missed it when adding inline static calls 
with commit f50b45626e05 ("powerpc/static_call: Implement inline static 
calls").

I will have to fix that before we can activate HAVE_PREEMPT_DYNAMIC_CALL.

Christophe


>           |         ^~~~~~~~~~~~~~~~~~
>     kernel/sched/core.c:7449:1: note: in expansion of macro 'EXPORT_STATIC_CALL_TRAMP'
>      7449 | EXPORT_STATIC_CALL_TRAMP(preempt_schedule);
>           | ^~~~~~~~~~~~~~~~~~~~~~~~
>     include/linux/static_call.h:223:9: error: type defaults to 'int' in declaration of 'ARCH_ADD_TRAMP_KEY' [-Werror=implicit-int]
>       223 |         ARCH_ADD_TRAMP_KEY(name)
>           |         ^~~~~~~~~~~~~~~~~~
>     kernel/sched/core.c:7449:1: note: in expansion of macro 'EXPORT_STATIC_CALL_TRAMP'
>      7449 | EXPORT_STATIC_CALL_TRAMP(preempt_schedule);
>           | ^~~~~~~~~~~~~~~~~~~~~~~~
>>> kernel/sched/core.c:7449:1: warning: parameter names (without types) in function declaration
>     In file included from include/linux/tracepoint.h:22,
>                      from include/trace/syscall.h:5,
>                      from include/linux/syscalls.h:95,
>                      from include/linux/syscalls_api.h:1,
>                      from kernel/sched/core.c:16:
>>> include/linux/static_call.h:223:9: warning: data definition has no type or storage class
>       223 |         ARCH_ADD_TRAMP_KEY(name)
>           |         ^~~~~~~~~~~~~~~~~~
>     kernel/sched/core.c:7522:1: note: in expansion of macro 'EXPORT_STATIC_CALL_TRAMP'
>      7522 | EXPORT_STATIC_CALL_TRAMP(preempt_schedule_notrace);
>           | ^~~~~~~~~~~~~~~~~~~~~~~~
>     include/linux/static_call.h:223:9: error: type defaults to 'int' in declaration of 'ARCH_ADD_TRAMP_KEY' [-Werror=implicit-int]
>       223 |         ARCH_ADD_TRAMP_KEY(name)
>           |         ^~~~~~~~~~~~~~~~~~
>     kernel/sched/core.c:7522:1: note: in expansion of macro 'EXPORT_STATIC_CALL_TRAMP'
>      7522 | EXPORT_STATIC_CALL_TRAMP(preempt_schedule_notrace);
>           | ^~~~~~~~~~~~~~~~~~~~~~~~
>     kernel/sched/core.c:7522:1: warning: parameter names (without types) in function declaration
>     In file included from include/linux/tracepoint.h:22,
>                      from include/trace/syscall.h:5,
>                      from include/linux/syscalls.h:95,
>                      from include/linux/syscalls_api.h:1,
>                      from kernel/sched/core.c:16:
>>> include/linux/static_call.h:223:9: warning: data definition has no type or storage class
>       223 |         ARCH_ADD_TRAMP_KEY(name)
>           |         ^~~~~~~~~~~~~~~~~~
>     kernel/sched/core.c:7769:1: note: in expansion of macro 'EXPORT_STATIC_CALL_TRAMP'
>      7769 | EXPORT_STATIC_CALL_TRAMP(cond_resched);
>           | ^~~~~~~~~~~~~~~~~~~~~~~~
>     include/linux/static_call.h:223:9: error: type defaults to 'int' in declaration of 'ARCH_ADD_TRAMP_KEY' [-Werror=implicit-int]
>       223 |         ARCH_ADD_TRAMP_KEY(name)
>           |         ^~~~~~~~~~~~~~~~~~
>     kernel/sched/core.c:7769:1: note: in expansion of macro 'EXPORT_STATIC_CALL_TRAMP'
>      7769 | EXPORT_STATIC_CALL_TRAMP(cond_resched);
>           | ^~~~~~~~~~~~~~~~~~~~~~~~
>     kernel/sched/core.c:7769:1: warning: parameter names (without types) in function declaration
>     In file included from include/linux/tracepoint.h:22,
>                      from include/trace/syscall.h:5,
>                      from include/linux/syscalls.h:95,
>                      from include/linux/syscalls_api.h:1,
>                      from kernel/sched/core.c:16:
>>> include/linux/static_call.h:223:9: warning: data definition has no type or storage class
>       223 |         ARCH_ADD_TRAMP_KEY(name)
>           |         ^~~~~~~~~~~~~~~~~~
>     kernel/sched/core.c:7774:1: note: in expansion of macro 'EXPORT_STATIC_CALL_TRAMP'
>      7774 | EXPORT_STATIC_CALL_TRAMP(might_resched);
>           | ^~~~~~~~~~~~~~~~~~~~~~~~
>     include/linux/static_call.h:223:9: error: type defaults to 'int' in declaration of 'ARCH_ADD_TRAMP_KEY' [-Werror=implicit-int]
>       223 |         ARCH_ADD_TRAMP_KEY(name)
>           |         ^~~~~~~~~~~~~~~~~~
>     kernel/sched/core.c:7774:1: note: in expansion of macro 'EXPORT_STATIC_CALL_TRAMP'
>      7774 | EXPORT_STATIC_CALL_TRAMP(might_resched);
>           | ^~~~~~~~~~~~~~~~~~~~~~~~
>     kernel/sched/core.c:7774:1: warning: parameter names (without types) in function declaration
>     cc1: some warnings being treated as errors
> 
> 
> vim +223 include/linux/static_call.h
> 
> 9183c3f9ed710a8 Josh Poimboeuf 2020-08-18  212
> 9183c3f9ed710a8 Josh Poimboeuf 2020-08-18  213  #define EXPORT_STATIC_CALL(name)					\
> 9183c3f9ed710a8 Josh Poimboeuf 2020-08-18  214  	EXPORT_SYMBOL(STATIC_CALL_KEY(name));				\
> 9183c3f9ed710a8 Josh Poimboeuf 2020-08-18  215  	EXPORT_SYMBOL(STATIC_CALL_TRAMP(name))
> 9183c3f9ed710a8 Josh Poimboeuf 2020-08-18  216  #define EXPORT_STATIC_CALL_GPL(name)					\
> 9183c3f9ed710a8 Josh Poimboeuf 2020-08-18  217  	EXPORT_SYMBOL_GPL(STATIC_CALL_KEY(name));			\
> 9183c3f9ed710a8 Josh Poimboeuf 2020-08-18  218  	EXPORT_SYMBOL_GPL(STATIC_CALL_TRAMP(name))
> 9183c3f9ed710a8 Josh Poimboeuf 2020-08-18  219
> 73f44fe19d35963 Josh Poimboeuf 2021-01-27  220  /* Leave the key unexported, so modules can't change static call targets: */
> 73f44fe19d35963 Josh Poimboeuf 2021-01-27  221  #define EXPORT_STATIC_CALL_TRAMP(name)					\
> 73f44fe19d35963 Josh Poimboeuf 2021-01-27  222  	EXPORT_SYMBOL(STATIC_CALL_TRAMP(name));				\
> 73f44fe19d35963 Josh Poimboeuf 2021-01-27 @223  	ARCH_ADD_TRAMP_KEY(name)
> 73f44fe19d35963 Josh Poimboeuf 2021-01-27  224  #define EXPORT_STATIC_CALL_TRAMP_GPL(name)				\
> 73f44fe19d35963 Josh Poimboeuf 2021-01-27  225  	EXPORT_SYMBOL_GPL(STATIC_CALL_TRAMP(name));			\
> 73f44fe19d35963 Josh Poimboeuf 2021-01-27  226  	ARCH_ADD_TRAMP_KEY(name)
> 73f44fe19d35963 Josh Poimboeuf 2021-01-27  227
> 
> :::::: The code at line 223 was first introduced by commit
> :::::: 73f44fe19d359635a607e8e8daa0da4001c1cfc2 static_call: Allow module use without exposing static_call_key
> 
> :::::: TO: Josh Poimboeuf <jpoimboe@redhat.com>
> :::::: CC: Ingo Molnar <mingo@kernel.org>
> 
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [powerpc:fixes-test 10/12] include/linux/static_call.h:223:9: warning: data definition has no type or storage class
  2026-07-11  7:40 ` Christophe Leroy (CS GROUP)
@ 2026-07-11 13:20   ` Shrikanth Hegde
  0 siblings, 0 replies; 3+ messages in thread
From: Shrikanth Hegde @ 2026-07-11 13:20 UTC (permalink / raw)
  To: Christophe Leroy (CS GROUP), kernel test robot,
	Madhavan Srinivasan
  Cc: oe-kbuild-all, linuxppc-dev, Josh Poimboeuf

Hi Christophe,

On 7/11/26 1:10 PM, Christophe Leroy (CS GROUP) wrote:
> 
> 
> Le 11/07/2026 à 03:52, kernel test robot a écrit :
>> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/ 
>> linux.git fixes-test
>> head:   afc2830892a128a13a65f677271a0a48aeb61b5e
>> commit: 4747e17fe063720a30b1c0075bae3e8f8acd26f4 [10/12] powerpc/32: 
>> Use HAVE_PREEMPT_DYNAMIC_CALL instead of HAVE_PREEMPT_DYNAMIC_KEY
>> config: powerpc-randconfig-001-20260711 (https://download.01.org/0day- 
>> ci/archive/20260711/202607110847.u4TL0RJC-lkp@intel.com/config)
>> compiler: powerpc-linux-gcc (GCC) 11.5.0
>> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/ 
>> archive/20260711/202607110847.u4TL0RJC-lkp@intel.com/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@intel.com>
>> | Closes: https://lore.kernel.org/oe-kbuild-all/202607110847.u4TL0RJC- 
>> lkp@intel.com/
>>
>> All warnings (new ones prefixed by >>):
>>
>>     In file included from include/linux/tracepoint.h:22,
>>                      from include/trace/syscall.h:5,
>>                      from include/linux/syscalls.h:95,
>>                      from include/linux/syscalls_api.h:1,
>>                      from kernel/sched/core.c:16:
>>>> include/linux/static_call.h:223:9: warning: data definition has no 
>>>> type or storage class
>>       223 |         ARCH_ADD_TRAMP_KEY(name)
> 
> Looks like powerpc is missing ARCH_ADD_TRAMP() macro, introduced by 
> commit 73f44fe19d35 ("static_call: Allow module use without exposing 
> static_call_key") for x86. I missed it when adding inline static calls 
> with commit f50b45626e05 ("powerpc/static_call: Implement inline static 
> calls").
> 
> I will have to fix that before we can activate HAVE_PREEMPT_DYNAMIC_CALL.
> 
> Christophe
> 

One more thing to note,

Below series would remove all the EXPORT_STATIC_CALL_TRAMP
instances in scheduler.
That series make sense given that none/voluntary can't be selected now.

https://lore.kernel.org/all/20260703133358.698078-1-mark.rutland@arm.com/


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-07-11 13:21 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-11  1:52 [powerpc:fixes-test 10/12] include/linux/static_call.h:223:9: warning: data definition has no type or storage class kernel test robot
2026-07-11  7:40 ` Christophe Leroy (CS GROUP)
2026-07-11 13:20   ` Shrikanth Hegde

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.