tree: https://github.com/ammarfaizi2/linux-block stable/linux-stable-rc/queue/4.9 head: 483e4c5d481661c50aceaf498358f089136cb478 commit: 47ce3ea488109f17f552b9af32100f48ff4a019b [18/19] wait_on_bit: add an acquire memory barrier config: powerpc-allnoconfig compiler: powerpc-linux-gcc (GCC) 7.5.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://github.com/ammarfaizi2/linux-block/commit/47ce3ea488109f17f552b9af32100f48ff4a019b git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block git fetch --no-tags ammarfaizi2-block stable/linux-stable-rc/queue/4.9 git checkout 47ce3ea488109f17f552b9af32100f48ff4a019b # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-7.5.0 make.cross W=1 O=build_dir ARCH=powerpc SHELL=/bin/bash If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot All errors (new ones prefixed by >>): In file included from arch/powerpc/include/asm/bitops.h:157:0, from include/linux/bitops.h:18, from include/linux/radix-tree.h:24, from kernel/memremap.c:13: >> include/asm-generic/bitops/non-atomic.h:114:24: error: unknown type name 'bool' static __always_inline bool ^~~~ In file included from arch/powerpc/include/asm/bitops.h:45:0, from include/linux/bitops.h:18, from include/linux/radix-tree.h:24, from kernel/memremap.c:13: include/asm-generic/bitops/non-atomic.h: In function 'arch_test_bit_acquire': include/linux/compiler.h:531:3: error: unknown type name 'bool'; did you mean '_Bool'? bool __cond = !(condition); \ ^ include/linux/compiler.h:539:2: note: in expansion of macro '__compiletime_assert' __compiletime_assert(condition, msg, prefix, suffix) ^~~~~~~~~~~~~~~~~~~~ include/linux/compiler.h:551:2: note: in expansion of macro '_compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) ^~~~~~~~~~~~~~~~~~~ include/linux/compiler.h:554:2: note: in expansion of macro 'compiletime_assert' compiletime_assert(__native_word(t), \ ^~~~~~~~~~~~~~~~~~ include/asm-generic/barrier.h:191:2: note: in expansion of macro 'compiletime_assert_atomic_type' compiletime_assert_atomic_type(*p); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/bitops/non-atomic.h:118:16: note: in expansion of macro 'smp_load_acquire' return 1UL & (smp_load_acquire(p) >> (nr & (BITS_PER_LONG-1))); ^~~~~~~~~~~~~~~~ In file included from arch/powerpc/include/asm/thread_info.h:34:0, from include/linux/thread_info.h:59, from include/asm-generic/preempt.h:4, from ./arch/powerpc/include/generated/asm/preempt.h:1, from include/linux/preempt.h:59, from include/linux/radix-tree.h:25, from kernel/memremap.c:13: include/linux/pfn_t.h: In function 'pfn_t_valid': arch/powerpc/include/asm/page.h:129:32: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits] #define pfn_valid(pfn) ((pfn) >= ARCH_PFN_OFFSET && (pfn) < max_mapnr) ^ include/linux/pfn_t.h:72:9: note: in expansion of macro 'pfn_valid' return pfn_valid(pfn_t_to_pfn(pfn)); ^~~~~~~~~ kernel/memremap.c: In function 'try_ram_remap': arch/powerpc/include/asm/page.h:129:32: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits] #define pfn_valid(pfn) ((pfn) >= ARCH_PFN_OFFSET && (pfn) < max_mapnr) ^ kernel/memremap.c:42:6: note: in expansion of macro 'pfn_valid' if (pfn_valid(pfn) && !PageHighMem(pfn_to_page(pfn))) ^~~~~~~~~ -- In file included from arch/powerpc/include/asm/bitops.h:157:0, from include/linux/bitops.h:18, from lib/halfmd4.c:4: >> include/asm-generic/bitops/non-atomic.h:114:24: error: unknown type name 'bool' static __always_inline bool ^~~~ In file included from lib/halfmd4.c:1:0: include/asm-generic/bitops/non-atomic.h: In function 'arch_test_bit_acquire': include/linux/compiler.h:531:3: error: unknown type name 'bool'; did you mean '_Bool'? bool __cond = !(condition); \ ^ include/linux/compiler.h:539:2: note: in expansion of macro '__compiletime_assert' __compiletime_assert(condition, msg, prefix, suffix) ^~~~~~~~~~~~~~~~~~~~ include/linux/compiler.h:551:2: note: in expansion of macro '_compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) ^~~~~~~~~~~~~~~~~~~ include/linux/compiler.h:554:2: note: in expansion of macro 'compiletime_assert' compiletime_assert(__native_word(t), \ ^~~~~~~~~~~~~~~~~~ include/asm-generic/barrier.h:191:2: note: in expansion of macro 'compiletime_assert_atomic_type' compiletime_assert_atomic_type(*p); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/bitops/non-atomic.h:118:16: note: in expansion of macro 'smp_load_acquire' return 1UL & (smp_load_acquire(p) >> (nr & (BITS_PER_LONG-1))); ^~~~~~~~~~~~~~~~ vim +/bool +114 include/asm-generic/bitops/non-atomic.h 108 109 /** 110 * arch_test_bit_acquire - Determine, with acquire semantics, whether a bit is set 111 * @nr: bit number to test 112 * @addr: Address to start counting from 113 */ > 114 static __always_inline bool 115 arch_test_bit_acquire(unsigned long nr, const volatile unsigned long *addr) 116 { 117 unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr); 118 return 1UL & (smp_load_acquire(p) >> (nr & (BITS_PER_LONG-1))); 119 } 120 #define test_bit_acquire arch_test_bit_acquire 121 -- 0-DAY CI Kernel Test Service https://01.org/lkp