Re: [rcu:rcu/next 10/11] kernel/rcu/tasks.h:594:20: error: static declaration of 'exit_tasks_rcu_start' follows non-static declaration

From: Paul E. McKenney
Date: Thu Aug 27 2020 - 18:36:18 EST


On Fri, Aug 28, 2020 at 03:45:13AM +0800, kernel test robot wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/next
> head: 2ec296bd21c79b080bd6b3fb143122f18440d930
> commit: 8c8942d72e9bf1e19b6af0a8df4c7f44d2d384c0 [10/11] rcu-tasks: Prevent complaints of unused show_rcu_tasks_classic_gp_kthread()
> config: x86_64-randconfig-a014-20200827 (attached as .config)
> compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 71f3169e1baeff262583b35ef88f8fb6df7be85e)
> reproduce (this is a W=1 build):
> wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # install x86_64 cross compiling tool for clang build
> # apt-get install binutils-x86-64-linux-gnu
> git checkout 8c8942d72e9bf1e19b6af0a8df4c7f44d2d384c0
> # save the attached .config to linux build tree
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
>
> All errors (new ones prefixed by >>):
>
> In file included from kernel/rcu/update.c:578:
> >> kernel/rcu/tasks.h:594:20: error: static declaration of 'exit_tasks_rcu_start' follows non-static declaration
> static inline void exit_tasks_rcu_start(void) { }
> ^
> include/linux/rcupdate.h:181:6: note: previous declaration is here
> void exit_tasks_rcu_start(void);
> ^
> In file included from kernel/rcu/update.c:578:
> >> kernel/rcu/tasks.h:595:20: error: static declaration of 'exit_tasks_rcu_finish' follows non-static declaration
> static inline void exit_tasks_rcu_finish(void) { exit_tasks_rcu_finish_trace(current); }
> ^
> include/linux/rcupdate.h:182:6: note: previous declaration is here
> void exit_tasks_rcu_finish(void);
> ^
> 2 errors generated.

Good catch, alleged fix folded into this commit.

Thanx, Paul

> # https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git/commit/?id=8c8942d72e9bf1e19b6af0a8df4c7f44d2d384c0
> git remote add rcu https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
> git fetch --no-tags rcu rcu/next
> git checkout 8c8942d72e9bf1e19b6af0a8df4c7f44d2d384c0
> vim +/exit_tasks_rcu_start +594 kernel/rcu/tasks.h
>
> 591
> 592 #else /* #ifdef CONFIG_TASKS_RCU */
> 593 static inline void show_rcu_tasks_classic_gp_kthread(void) { }
> > 594 static inline void exit_tasks_rcu_start(void) { }
> > 595 static inline void exit_tasks_rcu_finish(void) { exit_tasks_rcu_finish_trace(current); }
> 596 #endif /* #else #ifdef CONFIG_TASKS_RCU */
> 597
>
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx