Re: [PATCH] rcu: Add nocb_cb_kthread check to rcu_is_callbacks_kthread()

From: kernel test robot
Date: Mon Apr 25 2022 - 06:48:34 EST


Hi Zqiang,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on paulmck-rcu/dev]
[also build test ERROR on v5.18-rc4 next-20220422]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url: https://github.com/intel-lab-lkp/linux/commits/Zqiang/rcu-Add-nocb_cb_kthread-check-to-rcu_is_callbacks_kthread/20220425-162445
base: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev
config: arm-randconfig-r026-20220425 (https://download.01.org/0day-ci/archive/20220425/202204251856.LJC9zzoY-lkp@xxxxxxxxx/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 1cddcfdc3c683b393df1a5c9063252eb60e52818)
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 arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# https://github.com/intel-lab-lkp/linux/commit/c909d116f928cbb9de2daf60a572f3f8a81cc4f4
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Zqiang/rcu-Add-nocb_cb_kthread-check-to-rcu_is_callbacks_kthread/20220425-162445
git checkout c909d116f928cbb9de2daf60a572f3f8a81cc4f4
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash kernel/

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/tree.c:5032:
>> kernel/rcu/tree_plugin.h:1161:28: error: no member named 'nocb_cb_kthread' in 'struct rcu_data'
__this_cpu_read(rcu_data.nocb_cb_kthread) == current;
~~~~~~~~ ^
include/linux/percpu-defs.h:446:15: note: expanded from macro '__this_cpu_read'
raw_cpu_read(pcp); \
^~~
include/linux/percpu-defs.h:420:67: note: expanded from macro 'raw_cpu_read'
#define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp)
^~~
include/linux/percpu-defs.h:318:9: note: expanded from macro '__pcpu_size_call_return'
typeof(variable) pscr_ret__; \
^~~~~~~~
In file included from kernel/rcu/tree.c:5032:
>> kernel/rcu/tree_plugin.h:1161:28: error: no member named 'nocb_cb_kthread' in 'struct rcu_data'
__this_cpu_read(rcu_data.nocb_cb_kthread) == current;
~~~~~~~~ ^
include/linux/percpu-defs.h:446:15: note: expanded from macro '__this_cpu_read'
raw_cpu_read(pcp); \
^~~
include/linux/percpu-defs.h:420:67: note: expanded from macro 'raw_cpu_read'
#define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp)
^~~
include/linux/percpu-defs.h:319:22: note: expanded from macro '__pcpu_size_call_return'
__verify_pcpu_ptr(&(variable)); \
^~~~~~~~
include/linux/percpu-defs.h:219:47: note: expanded from macro '__verify_pcpu_ptr'
const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \
^~~
In file included from kernel/rcu/tree.c:5032:
>> kernel/rcu/tree_plugin.h:1161:28: error: no member named 'nocb_cb_kthread' in 'struct rcu_data'
__this_cpu_read(rcu_data.nocb_cb_kthread) == current;
~~~~~~~~ ^
include/linux/percpu-defs.h:446:15: note: expanded from macro '__this_cpu_read'
raw_cpu_read(pcp); \
^~~
include/linux/percpu-defs.h:420:67: note: expanded from macro 'raw_cpu_read'
#define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp)
^~~
include/linux/percpu-defs.h:320:16: note: expanded from macro '__pcpu_size_call_return'
switch(sizeof(variable)) { \
^~~~~~~~
In file included from kernel/rcu/tree.c:5032:
>> kernel/rcu/tree_plugin.h:1161:28: error: no member named 'nocb_cb_kthread' in 'struct rcu_data'
__this_cpu_read(rcu_data.nocb_cb_kthread) == current;
~~~~~~~~ ^
include/linux/percpu-defs.h:446:15: note: expanded from macro '__this_cpu_read'
raw_cpu_read(pcp); \
^~~
include/linux/percpu-defs.h:420:67: note: expanded from macro 'raw_cpu_read'
#define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp)
^~~
include/linux/percpu-defs.h:321:31: note: expanded from macro '__pcpu_size_call_return'
case 1: pscr_ret__ = stem##1(variable); break; \
^~~~~~~~
note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/percpu-defs.h:263:65: note: expanded from macro 'per_cpu_ptr'
#define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); VERIFY_PERCPU_PTR(ptr); })
^~~
include/linux/percpu-defs.h:259:20: note: expanded from macro 'VERIFY_PERCPU_PTR'
__verify_pcpu_ptr(__p); \
^~~
include/linux/percpu-defs.h:219:47: note: expanded from macro '__verify_pcpu_ptr'
const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \
^~~
In file included from kernel/rcu/tree.c:5032:
>> kernel/rcu/tree_plugin.h:1161:28: error: no member named 'nocb_cb_kthread' in 'struct rcu_data'
__this_cpu_read(rcu_data.nocb_cb_kthread) == current;
~~~~~~~~ ^
include/linux/percpu-defs.h:446:15: note: expanded from macro '__this_cpu_read'
raw_cpu_read(pcp); \
^~~
include/linux/percpu-defs.h:420:67: note: expanded from macro 'raw_cpu_read'
#define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp)
^~~
include/linux/percpu-defs.h:321:31: note: expanded from macro '__pcpu_size_call_return'
case 1: pscr_ret__ = stem##1(variable); break; \
^~~~~~~~
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/percpu-defs.h:264:38: note: expanded from macro 'raw_cpu_ptr'
#define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0)
^~~
include/linux/percpu-defs.h:263:65: note: expanded from macro 'per_cpu_ptr'
#define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); VERIFY_PERCPU_PTR(ptr); })
^~~
include/linux/percpu-defs.h:260:12: note: expanded from macro 'VERIFY_PERCPU_PTR'
(typeof(*(__p)) __kernel __force *)(__p); \
^~~
In file included from kernel/rcu/tree.c:5032:
>> kernel/rcu/tree_plugin.h:1161:28: error: no member named 'nocb_cb_kthread' in 'struct rcu_data'
__this_cpu_read(rcu_data.nocb_cb_kthread) == current;
~~~~~~~~ ^
include/linux/percpu-defs.h:446:15: note: expanded from macro '__this_cpu_read'
raw_cpu_read(pcp); \
^~~
include/linux/percpu-defs.h:420:67: note: expanded from macro 'raw_cpu_read'
#define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp)
^~~
include/linux/percpu-defs.h:321:31: note: expanded from macro '__pcpu_size_call_return'
case 1: pscr_ret__ = stem##1(variable); break; \
^~~~~~~~
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/percpu-defs.h:264:38: note: expanded from macro 'raw_cpu_ptr'
#define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0)
^~~
include/linux/percpu-defs.h:263:65: note: expanded from macro 'per_cpu_ptr'
#define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); VERIFY_PERCPU_PTR(ptr); })
^~~
include/linux/percpu-defs.h:260:38: note: expanded from macro 'VERIFY_PERCPU_PTR'
(typeof(*(__p)) __kernel __force *)(__p); \
^~~
In file included from kernel/rcu/tree.c:5032:
>> kernel/rcu/tree_plugin.h:1161:3: error: indirection requires pointer operand ('void' invalid)
__this_cpu_read(rcu_data.nocb_cb_kthread) == current;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/percpu-defs.h:446:2: note: expanded from macro '__this_cpu_read'
raw_cpu_read(pcp); \
^~~~~~~~~~~~~~~~~
include/linux/percpu-defs.h:420:28: note: expanded from macro 'raw_cpu_read'
#define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/percpu-defs.h:321:23: note: expanded from macro '__pcpu_size_call_return'
case 1: pscr_ret__ = stem##1(variable); break; \
^~~~~~~~~~~~~~~~~
<scratch space>:40:1: note: expanded from here
raw_cpu_read_1
^
include/asm-generic/percpu.h:195:30: note: expanded from macro 'raw_cpu_read_1'
#define raw_cpu_read_1(pcp) raw_cpu_generic_read(pcp)
^~~~~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/percpu.h:67:2: note: expanded from macro 'raw_cpu_generic_read'
*raw_cpu_ptr(&(pcp)); \
^~~~~~~~~~~~~~~~~~~~
In file included from kernel/rcu/tree.c:5032:
>> kernel/rcu/tree_plugin.h:1161:28: error: no member named 'nocb_cb_kthread' in 'struct rcu_data'
__this_cpu_read(rcu_data.nocb_cb_kthread) == current;
~~~~~~~~ ^
include/linux/percpu-defs.h:446:15: note: expanded from macro '__this_cpu_read'
raw_cpu_read(pcp); \
^~~
include/linux/percpu-defs.h:420:67: note: expanded from macro 'raw_cpu_read'
#define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp)
^~~
include/linux/percpu-defs.h:322:31: note: expanded from macro '__pcpu_size_call_return'
case 2: pscr_ret__ = stem##2(variable); break; \
^~~~~~~~
note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/percpu-defs.h:263:65: note: expanded from macro 'per_cpu_ptr'
#define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); VERIFY_PERCPU_PTR(ptr); })
^~~
include/linux/percpu-defs.h:259:20: note: expanded from macro 'VERIFY_PERCPU_PTR'
__verify_pcpu_ptr(__p); \
^~~
include/linux/percpu-defs.h:219:47: note: expanded from macro '__verify_pcpu_ptr'
const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \
^~~
In file included from kernel/rcu/tree.c:5032:
>> kernel/rcu/tree_plugin.h:1161:28: error: no member named 'nocb_cb_kthread' in 'struct rcu_data'
__this_cpu_read(rcu_data.nocb_cb_kthread) == current;
~~~~~~~~ ^
include/linux/percpu-defs.h:446:15: note: expanded from macro '__this_cpu_read'
raw_cpu_read(pcp); \
^~~
include/linux/percpu-defs.h:420:67: note: expanded from macro 'raw_cpu_read'
#define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp)
^~~
include/linux/percpu-defs.h:322:31: note: expanded from macro '__pcpu_size_call_return'
case 2: pscr_ret__ = stem##2(variable); break; \
^~~~~~~~
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/percpu-defs.h:264:38: note: expanded from macro 'raw_cpu_ptr'
#define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0)
^~~
include/linux/percpu-defs.h:263:65: note: expanded from macro 'per_cpu_ptr'
#define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); VERIFY_PERCPU_PTR(ptr); })
^~~
include/linux/percpu-defs.h:260:12: note: expanded from macro 'VERIFY_PERCPU_PTR'
(typeof(*(__p)) __kernel __force *)(__p); \
^~~
In file included from kernel/rcu/tree.c:5032:
>> kernel/rcu/tree_plugin.h:1161:28: error: no member named 'nocb_cb_kthread' in 'struct rcu_data'
__this_cpu_read(rcu_data.nocb_cb_kthread) == current;
~~~~~~~~ ^
include/linux/percpu-defs.h:446:15: note: expanded from macro '__this_cpu_read'
raw_cpu_read(pcp); \
^~~
include/linux/percpu-defs.h:420:67: note: expanded from macro 'raw_cpu_read'
#define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp)
^~~
include/linux/percpu-defs.h:322:31: note: expanded from macro '__pcpu_size_call_return'
case 2: pscr_ret__ = stem##2(variable); break; \
^~~~~~~~
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/percpu-defs.h:264:38: note: expanded from macro 'raw_cpu_ptr'
#define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0)
^~~
include/linux/percpu-defs.h:263:65: note: expanded from macro 'per_cpu_ptr'
#define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); VERIFY_PERCPU_PTR(ptr); })
^~~
include/linux/percpu-defs.h:260:38: note: expanded from macro 'VERIFY_PERCPU_PTR'
(typeof(*(__p)) __kernel __force *)(__p); \
^~~
In file included from kernel/rcu/tree.c:5032:
>> kernel/rcu/tree_plugin.h:1161:3: error: indirection requires pointer operand ('void' invalid)
__this_cpu_read(rcu_data.nocb_cb_kthread) == current;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/percpu-defs.h:446:2: note: expanded from macro '__this_cpu_read'
raw_cpu_read(pcp); \
^~~~~~~~~~~~~~~~~
include/linux/percpu-defs.h:420:28: note: expanded from macro 'raw_cpu_read'
#define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/percpu-defs.h:322:23: note: expanded from macro '__pcpu_size_call_return'
case 2: pscr_ret__ = stem##2(variable); break; \
^~~~~~~~~~~~~~~~~
<scratch space>:41:1: note: expanded from here
raw_cpu_read_2
^
include/asm-generic/percpu.h:198:30: note: expanded from macro 'raw_cpu_read_2'
#define raw_cpu_read_2(pcp) raw_cpu_generic_read(pcp)
^~~~~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/percpu.h:67:2: note: expanded from macro 'raw_cpu_generic_read'
*raw_cpu_ptr(&(pcp)); \
^~~~~~~~~~~~~~~~~~~~
In file included from kernel/rcu/tree.c:5032:
>> kernel/rcu/tree_plugin.h:1161:28: error: no member named 'nocb_cb_kthread' in 'struct rcu_data'
__this_cpu_read(rcu_data.nocb_cb_kthread) == current;
~~~~~~~~ ^
include/linux/percpu-defs.h:446:15: note: expanded from macro '__this_cpu_read'
raw_cpu_read(pcp); \
^~~
include/linux/percpu-defs.h:420:67: note: expanded from macro 'raw_cpu_read'
#define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp)
^~~
include/linux/percpu-defs.h:323:31: note: expanded from macro '__pcpu_size_call_return'
case 4: pscr_ret__ = stem##4(variable); break; \
^~~~~~~~
note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/percpu-defs.h:263:65: note: expanded from macro 'per_cpu_ptr'
#define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); VERIFY_PERCPU_PTR(ptr); })
^~~
include/linux/percpu-defs.h:259:20: note: expanded from macro 'VERIFY_PERCPU_PTR'
__verify_pcpu_ptr(__p); \
^~~
include/linux/percpu-defs.h:219:47: note: expanded from macro '__verify_pcpu_ptr'
const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \
^~~
In file included from kernel/rcu/tree.c:5032:
>> kernel/rcu/tree_plugin.h:1161:28: error: no member named 'nocb_cb_kthread' in 'struct rcu_data'
__this_cpu_read(rcu_data.nocb_cb_kthread) == current;
~~~~~~~~ ^
include/linux/percpu-defs.h:446:15: note: expanded from macro '__this_cpu_read'
raw_cpu_read(pcp); \
^~~
include/linux/percpu-defs.h:420:67: note: expanded from macro 'raw_cpu_read'
#define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp)
^~~
include/linux/percpu-defs.h:323:31: note: expanded from macro '__pcpu_size_call_return'
case 4: pscr_ret__ = stem##4(variable); break; \
^~~~~~~~
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/percpu-defs.h:264:38: note: expanded from macro 'raw_cpu_ptr'
#define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0)
^~~
include/linux/percpu-defs.h:263:65: note: expanded from macro 'per_cpu_ptr'
#define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); VERIFY_PERCPU_PTR(ptr); })
^~~
include/linux/percpu-defs.h:260:12: note: expanded from macro 'VERIFY_PERCPU_PTR'
(typeof(*(__p)) __kernel __force *)(__p); \
^~~
In file included from kernel/rcu/tree.c:5032:
>> kernel/rcu/tree_plugin.h:1161:28: error: no member named 'nocb_cb_kthread' in 'struct rcu_data'
__this_cpu_read(rcu_data.nocb_cb_kthread) == current;
~~~~~~~~ ^
include/linux/percpu-defs.h:446:15: note: expanded from macro '__this_cpu_read'
raw_cpu_read(pcp); \
^~~
include/linux/percpu-defs.h:420:67: note: expanded from macro 'raw_cpu_read'
#define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp)
^~~
include/linux/percpu-defs.h:323:31: note: expanded from macro '__pcpu_size_call_return'
case 4: pscr_ret__ = stem##4(variable); break; \
^~~~~~~~
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/percpu-defs.h:264:38: note: expanded from macro 'raw_cpu_ptr'
#define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0)
^~~
include/linux/percpu-defs.h:263:65: note: expanded from macro 'per_cpu_ptr'
#define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); VERIFY_PERCPU_PTR(ptr); })
^~~
include/linux/percpu-defs.h:260:38: note: expanded from macro 'VERIFY_PERCPU_PTR'
(typeof(*(__p)) __kernel __force *)(__p); \
^~~
In file included from kernel/rcu/tree.c:5032:
>> kernel/rcu/tree_plugin.h:1161:3: error: indirection requires pointer operand ('void' invalid)
__this_cpu_read(rcu_data.nocb_cb_kthread) == current;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/percpu-defs.h:446:2: note: expanded from macro '__this_cpu_read'
raw_cpu_read(pcp); \
^~~~~~~~~~~~~~~~~
include/linux/percpu-defs.h:420:28: note: expanded from macro 'raw_cpu_read'
#define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/percpu-defs.h:323:23: note: expanded from macro '__pcpu_size_call_return'
case 4: pscr_ret__ = stem##4(variable); break; \
^~~~~~~~~~~~~~~~~
<scratch space>:42:1: note: expanded from here
raw_cpu_read_4
^
include/asm-generic/percpu.h:201:30: note: expanded from macro 'raw_cpu_read_4'
#define raw_cpu_read_4(pcp) raw_cpu_generic_read(pcp)
^~~~~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/percpu.h:67:2: note: expanded from macro 'raw_cpu_generic_read'
*raw_cpu_ptr(&(pcp)); \
^~~~~~~~~~~~~~~~~~~~
In file included from kernel/rcu/tree.c:5032:
>> kernel/rcu/tree_plugin.h:1161:28: error: no member named 'nocb_cb_kthread' in 'struct rcu_data'
__this_cpu_read(rcu_data.nocb_cb_kthread) == current;
~~~~~~~~ ^
include/linux/percpu-defs.h:446:15: note: expanded from macro '__this_cpu_read'
raw_cpu_read(pcp); \
^~~
include/linux/percpu-defs.h:420:67: note: expanded from macro 'raw_cpu_read'
#define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp)
^~~
include/linux/percpu-defs.h:324:31: note: expanded from macro '__pcpu_size_call_return'
case 8: pscr_ret__ = stem##8(variable); break; \
^~~~~~~~
note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/percpu-defs.h:263:65: note: expanded from macro 'per_cpu_ptr'
#define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); VERIFY_PERCPU_PTR(ptr); })
^~~
include/linux/percpu-defs.h:259:20: note: expanded from macro 'VERIFY_PERCPU_PTR'
__verify_pcpu_ptr(__p); \
^~~
include/linux/percpu-defs.h:219:47: note: expanded from macro '__verify_pcpu_ptr'
const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \
^~~
In file included from kernel/rcu/tree.c:5032:
>> kernel/rcu/tree_plugin.h:1161:28: error: no member named 'nocb_cb_kthread' in 'struct rcu_data'
__this_cpu_read(rcu_data.nocb_cb_kthread) == current;
~~~~~~~~ ^
include/linux/percpu-defs.h:446:15: note: expanded from macro '__this_cpu_read'
raw_cpu_read(pcp); \
^~~
include/linux/percpu-defs.h:420:67: note: expanded from macro 'raw_cpu_read'
#define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp)
^~~
include/linux/percpu-defs.h:324:31: note: expanded from macro '__pcpu_size_call_return'
case 8: pscr_ret__ = stem##8(variable); break; \
^~~~~~~~
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/percpu-defs.h:264:38: note: expanded from macro 'raw_cpu_ptr'
#define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0)
^~~
include/linux/percpu-defs.h:263:65: note: expanded from macro 'per_cpu_ptr'
#define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); VERIFY_PERCPU_PTR(ptr); })
^~~
include/linux/percpu-defs.h:260:12: note: expanded from macro 'VERIFY_PERCPU_PTR'
(typeof(*(__p)) __kernel __force *)(__p); \
^~~
In file included from kernel/rcu/tree.c:5032:
>> kernel/rcu/tree_plugin.h:1161:28: error: no member named 'nocb_cb_kthread' in 'struct rcu_data'
__this_cpu_read(rcu_data.nocb_cb_kthread) == current;
~~~~~~~~ ^
include/linux/percpu-defs.h:446:15: note: expanded from macro '__this_cpu_read'
raw_cpu_read(pcp); \
^~~
include/linux/percpu-defs.h:420:67: note: expanded from macro 'raw_cpu_read'
#define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp)
^~~
include/linux/percpu-defs.h:324:31: note: expanded from macro '__pcpu_size_call_return'
case 8: pscr_ret__ = stem##8(variable); break; \
^~~~~~~~
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/percpu-defs.h:264:38: note: expanded from macro 'raw_cpu_ptr'
#define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0)
^~~
include/linux/percpu-defs.h:263:65: note: expanded from macro 'per_cpu_ptr'
#define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); VERIFY_PERCPU_PTR(ptr); })
^~~
include/linux/percpu-defs.h:260:38: note: expanded from macro 'VERIFY_PERCPU_PTR'
(typeof(*(__p)) __kernel __force *)(__p); \
^~~
In file included from kernel/rcu/tree.c:5032:
>> kernel/rcu/tree_plugin.h:1161:3: error: indirection requires pointer operand ('void' invalid)
__this_cpu_read(rcu_data.nocb_cb_kthread) == current;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/percpu-defs.h:446:2: note: expanded from macro '__this_cpu_read'
raw_cpu_read(pcp); \
^~~~~~~~~~~~~~~~~
include/linux/percpu-defs.h:420:28: note: expanded from macro 'raw_cpu_read'
#define raw_cpu_read(pcp) __pcpu_size_call_return(raw_cpu_read_, pcp)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/percpu-defs.h:324:23: note: expanded from macro '__pcpu_size_call_return'
case 8: pscr_ret__ = stem##8(variable); break; \
^~~~~~~~~~~~~~~~~
<scratch space>:43:1: note: expanded from here
raw_cpu_read_8
^
include/asm-generic/percpu.h:204:30: note: expanded from macro 'raw_cpu_read_8'
#define raw_cpu_read_8(pcp) raw_cpu_generic_read(pcp)
^~~~~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/percpu.h:67:2: note: expanded from macro 'raw_cpu_generic_read'
*raw_cpu_ptr(&(pcp)); \
^~~~~~~~~~~~~~~~~~~~
19 errors generated.


vim +1161 kernel/rcu/tree_plugin.h

1153
1154 /*
1155 * Is the current CPU running the RCU-callbacks kthread?
1156 * Caller must have preemption disabled.
1157 */
1158 static bool rcu_is_callbacks_kthread(void)
1159 {
1160 return __this_cpu_read(rcu_data.rcu_cpu_kthread_task) == current ||
> 1161 __this_cpu_read(rcu_data.nocb_cb_kthread) == current;
1162 }
1163

--
0-DAY CI Kernel Test Service
https://01.org/lkp