[mingo-tip:sched/headers 2376/2384] arch/arm64/include/asm/preempt.h:13:47: error: invalid type argument of '->' (have 'int')

From: kernel test robot
Date: Mon Jan 24 2022 - 08:08:58 EST


tree: git://git.kernel.org/pub/scm/linux/kernel/git/mingo/tip.git sched/headers
head: 4c707c1c0de83967079b4e385012fa5b00e2cd11
commit: 882f8a5202090503bd884d578674fd1da9a404ff [2376/2384] headers/deps: Introduce the CONFIG_FAST_HEADERS=y config option
config: arm64-buildonly-randconfig-r005-20220124 (https://download.01.org/0day-ci/archive/20220124/202201242026.CrtQ9uF8-lkp@xxxxxxxxx/config)
compiler: aarch64-linux-gcc (GCC) 11.2.0
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
# https://git.kernel.org/pub/scm/linux/kernel/git/mingo/tip.git/commit/?id=882f8a5202090503bd884d578674fd1da9a404ff
git remote add mingo-tip git://git.kernel.org/pub/scm/linux/kernel/git/mingo/tip.git
git fetch --no-tags mingo-tip sched/headers
git checkout 882f8a5202090503bd884d578674fd1da9a404ff
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arm64 prepare

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 <command-line>:
arch/arm64/include/asm/preempt.h: In function 'preempt_count':
include/linux/thread_info.h:28:32: error: implicit declaration of function 'task_thread_info'; did you mean 'task_thread'? [-Werror=implicit-function-declaration]
28 | # define current_thread_info() task_thread_info(current)
| ^~~~~~~~~~~~~~~~
include/linux/compiler_types.h:315:23: note: in definition of macro '__compiletime_assert'
315 | if (!(condition)) \
| ^~~~~~~~~
include/linux/compiler_types.h:335:9: note: in expansion of macro '_compiletime_assert'
335 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:49:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
49 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm64/include/asm/preempt.h:13:16: note: in expansion of macro 'READ_ONCE'
13 | return READ_ONCE(current_thread_info()->preempt.count);
| ^~~~~~~~~
arch/arm64/include/asm/preempt.h:13:26: note: in expansion of macro 'current_thread_info'
13 | return READ_ONCE(current_thread_info()->preempt.count);
| ^~~~~~~~~~~~~~~~~~~
>> arch/arm64/include/asm/preempt.h:13:47: error: invalid type argument of '->' (have 'int')
13 | return READ_ONCE(current_thread_info()->preempt.count);
| ^~
include/linux/compiler_types.h:315:23: note: in definition of macro '__compiletime_assert'
315 | if (!(condition)) \
| ^~~~~~~~~
include/linux/compiler_types.h:335:9: note: in expansion of macro '_compiletime_assert'
335 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:49:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
49 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm64/include/asm/preempt.h:13:16: note: in expansion of macro 'READ_ONCE'
13 | return READ_ONCE(current_thread_info()->preempt.count);
| ^~~~~~~~~
>> arch/arm64/include/asm/preempt.h:13:47: error: invalid type argument of '->' (have 'int')
13 | return READ_ONCE(current_thread_info()->preempt.count);
| ^~
include/linux/compiler_types.h:315:23: note: in definition of macro '__compiletime_assert'
315 | if (!(condition)) \
| ^~~~~~~~~
include/linux/compiler_types.h:335:9: note: in expansion of macro '_compiletime_assert'
335 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:49:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
49 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm64/include/asm/preempt.h:13:16: note: in expansion of macro 'READ_ONCE'
13 | return READ_ONCE(current_thread_info()->preempt.count);
| ^~~~~~~~~
>> arch/arm64/include/asm/preempt.h:13:47: error: invalid type argument of '->' (have 'int')
13 | return READ_ONCE(current_thread_info()->preempt.count);
| ^~
include/linux/compiler_types.h:315:23: note: in definition of macro '__compiletime_assert'
315 | if (!(condition)) \
| ^~~~~~~~~
include/linux/compiler_types.h:335:9: note: in expansion of macro '_compiletime_assert'
335 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:49:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
49 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm64/include/asm/preempt.h:13:16: note: in expansion of macro 'READ_ONCE'
13 | return READ_ONCE(current_thread_info()->preempt.count);
| ^~~~~~~~~
>> arch/arm64/include/asm/preempt.h:13:47: error: invalid type argument of '->' (have 'int')
13 | return READ_ONCE(current_thread_info()->preempt.count);
| ^~
include/linux/compiler_types.h:315:23: note: in definition of macro '__compiletime_assert'
315 | if (!(condition)) \
| ^~~~~~~~~
include/linux/compiler_types.h:335:9: note: in expansion of macro '_compiletime_assert'
335 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:49:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
49 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm64/include/asm/preempt.h:13:16: note: in expansion of macro 'READ_ONCE'
13 | return READ_ONCE(current_thread_info()->preempt.count);
| ^~~~~~~~~
>> arch/arm64/include/asm/preempt.h:13:47: error: invalid type argument of '->' (have 'int')
13 | return READ_ONCE(current_thread_info()->preempt.count);
| ^~
include/linux/compiler_types.h:315:23: note: in definition of macro '__compiletime_assert'
315 | if (!(condition)) \
| ^~~~~~~~~
include/linux/compiler_types.h:335:9: note: in expansion of macro '_compiletime_assert'
335 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:49:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
49 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm64/include/asm/preempt.h:13:16: note: in expansion of macro 'READ_ONCE'
13 | return READ_ONCE(current_thread_info()->preempt.count);
| ^~~~~~~~~
>> arch/arm64/include/asm/preempt.h:13:47: error: invalid type argument of '->' (have 'int')
13 | return READ_ONCE(current_thread_info()->preempt.count);
| ^~
include/linux/compiler_types.h:291:27: note: in definition of macro '__unqual_scalar_typeof'
291 | _Generic((x), \
| ^
include/asm-generic/rwonce.h:50:9: note: in expansion of macro '__READ_ONCE'
50 | __READ_ONCE(x); \
| ^~~~~~~~~~~
arch/arm64/include/asm/preempt.h:13:16: note: in expansion of macro 'READ_ONCE'
13 | return READ_ONCE(current_thread_info()->preempt.count);
| ^~~~~~~~~
In file included from arch/arm64/include/asm/rwonce.h:71,
from include/linux/compiler.h:263,
from include/asm-generic/bug.h:5,
from arch/arm64/include/asm/bug.h:26,
from include/linux/bug.h:5,
from include/linux/thread_info.h:15,
from include/linux/sched.h:2,
from arch/arm64/kernel/../../../kernel/sched/per_task_area_struct.h:7,
from arch/arm64/kernel/asm-offsets.c:9:
>> arch/arm64/include/asm/preempt.h:13:47: error: invalid type argument of '->' (have 'int')
13 | return READ_ONCE(current_thread_info()->preempt.count);
| ^~
include/asm-generic/rwonce.h:44:73: note: in definition of macro '__READ_ONCE'
44 | #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x))
| ^
arch/arm64/include/asm/preempt.h:13:16: note: in expansion of macro 'READ_ONCE'
13 | return READ_ONCE(current_thread_info()->preempt.count);
| ^~~~~~~~~
In file included from <command-line>:
arch/arm64/include/asm/preempt.h: In function 'preempt_count_set':
arch/arm64/include/asm/preempt.h:19:41: error: invalid type argument of '->' (have 'int')
19 | WRITE_ONCE(current_thread_info()->preempt.count, pc);
| ^~
include/linux/compiler_types.h:315:23: note: in definition of macro '__compiletime_assert'
315 | if (!(condition)) \
| ^~~~~~~~~
include/linux/compiler_types.h:335:9: note: in expansion of macro '_compiletime_assert'
335 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:60:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
60 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm64/include/asm/preempt.h:19:9: note: in expansion of macro 'WRITE_ONCE'
19 | WRITE_ONCE(current_thread_info()->preempt.count, pc);
| ^~~~~~~~~~
arch/arm64/include/asm/preempt.h:19:41: error: invalid type argument of '->' (have 'int')
19 | WRITE_ONCE(current_thread_info()->preempt.count, pc);
| ^~
include/linux/compiler_types.h:315:23: note: in definition of macro '__compiletime_assert'
315 | if (!(condition)) \
| ^~~~~~~~~
include/linux/compiler_types.h:335:9: note: in expansion of macro '_compiletime_assert'
335 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:60:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
60 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm64/include/asm/preempt.h:19:9: note: in expansion of macro 'WRITE_ONCE'
19 | WRITE_ONCE(current_thread_info()->preempt.count, pc);
| ^~~~~~~~~~
arch/arm64/include/asm/preempt.h:19:41: error: invalid type argument of '->' (have 'int')
19 | WRITE_ONCE(current_thread_info()->preempt.count, pc);
| ^~
include/linux/compiler_types.h:315:23: note: in definition of macro '__compiletime_assert'
315 | if (!(condition)) \
| ^~~~~~~~~
include/linux/compiler_types.h:335:9: note: in expansion of macro '_compiletime_assert'
335 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:60:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
60 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm64/include/asm/preempt.h:19:9: note: in expansion of macro 'WRITE_ONCE'
19 | WRITE_ONCE(current_thread_info()->preempt.count, pc);
| ^~~~~~~~~~
arch/arm64/include/asm/preempt.h:19:41: error: invalid type argument of '->' (have 'int')
19 | WRITE_ONCE(current_thread_info()->preempt.count, pc);
| ^~
include/linux/compiler_types.h:315:23: note: in definition of macro '__compiletime_assert'
315 | if (!(condition)) \
| ^~~~~~~~~
include/linux/compiler_types.h:335:9: note: in expansion of macro '_compiletime_assert'
335 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:60:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
60 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm64/include/asm/preempt.h:19:9: note: in expansion of macro 'WRITE_ONCE'
19 | WRITE_ONCE(current_thread_info()->preempt.count, pc);
| ^~~~~~~~~~
arch/arm64/include/asm/preempt.h:19:41: error: invalid type argument of '->' (have 'int')
19 | WRITE_ONCE(current_thread_info()->preempt.count, pc);
| ^~
include/linux/compiler_types.h:315:23: note: in definition of macro '__compiletime_assert'
315 | if (!(condition)) \
| ^~~~~~~~~


vim +13 arch/arm64/include/asm/preempt.h

396244692232fc Will Deacon 2018-09-20 10
396244692232fc Will Deacon 2018-09-20 11 static inline int preempt_count(void)
396244692232fc Will Deacon 2018-09-20 12 {
396244692232fc Will Deacon 2018-09-20 @13 return READ_ONCE(current_thread_info()->preempt.count);
396244692232fc Will Deacon 2018-09-20 14 }
396244692232fc Will Deacon 2018-09-20 15

:::::: The code at line 13 was first introduced by commit
:::::: 396244692232fcf0881cb6ba2404be2906f47681 arm64: preempt: Provide our own implementation of asm/preempt.h

:::::: TO: Will Deacon <will.deacon@xxxxxxx>
:::::: CC: Will Deacon <will.deacon@xxxxxxx>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx