tree: git://git.cmpxchg.org/linux-mmotm.git master head: 8c953f23aaffa1931eb463adbe10f0303ef977b1 commit: 180723ec144b81ffbe3730d20212ce5f921fe319 [171/244] kernel debug: support resetting WARN_ONCE for all architectures config: i386-alldefconfig (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: git checkout 180723ec144b81ffbe3730d20212ce5f921fe319 # save the attached .config to linux build tree make ARCH=i386 All error/warnings (new ones prefixed by >>): In file included from include/linux/list.h:8:0, from lib/bug.c:43: lib/bug.c: In function 'generic_bug_clear_once': lib/bug.c:212:32: error: 'module_bug_list' undeclared (first use in this function) list_for_each_entry_rcu(mod, &module_bug_list, bug_list) ^ include/linux/kernel.h:927:26: note: in definition of macro 'container_of' void *__mptr = (void *)(ptr); \ ^~~ >> include/linux/rculist.h:277:15: note: in expansion of macro 'lockless_dereference' container_of(lockless_dereference(ptr), type, member) ^~~~~~~~~~~~~~~~~~~~ >> include/linux/rculist.h:351:13: note: in expansion of macro 'list_entry_rcu' for (pos = list_entry_rcu((head)->next, typeof(*pos), member); \ ^~~~~~~~~~~~~~ >> lib/bug.c:212:2: note: in expansion of macro 'list_for_each_entry_rcu' list_for_each_entry_rcu(mod, &module_bug_list, bug_list) ^~~~~~~~~~~~~~~~~~~~~~~ lib/bug.c:212:32: note: each undeclared identifier is reported only once for each function it appears in list_for_each_entry_rcu(mod, &module_bug_list, bug_list) ^ include/linux/kernel.h:927:26: note: in definition of macro 'container_of' void *__mptr = (void *)(ptr); \ ^~~ >> include/linux/rculist.h:277:15: note: in expansion of macro 'lockless_dereference' container_of(lockless_dereference(ptr), type, member) ^~~~~~~~~~~~~~~~~~~~ >> include/linux/rculist.h:351:13: note: in expansion of macro 'list_entry_rcu' for (pos = list_entry_rcu((head)->next, typeof(*pos), member); \ ^~~~~~~~~~~~~~ >> lib/bug.c:212:2: note: in expansion of macro 'list_for_each_entry_rcu' list_for_each_entry_rcu(mod, &module_bug_list, bug_list) ^~~~~~~~~~~~~~~~~~~~~~~ In file included from include/uapi/linux/stddef.h:1:0, from include/linux/stddef.h:4, from include/uapi/linux/posix_types.h:4, from include/uapi/linux/types.h:13, from include/linux/types.h:5, from include/linux/list.h:4, from lib/bug.c:43: include/linux/kernel.h:928:32: error: invalid type argument of unary '*' (have 'int') BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~~~~ include/linux/compiler.h:553:19: note: in definition of macro '__compiletime_assert' bool __cond = !(condition); \ ^~~~~~~~~ include/linux/compiler.h:576:2: note: in expansion of macro '_compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^~~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:46:37: note: in expansion of macro 'compiletime_assert' #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^~~~~~~~~~~~~~~~~~ include/linux/kernel.h:928:2: note: in expansion of macro 'BUILD_BUG_ON_MSG' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~~~~~~~~~~~~~~ include/linux/kernel.h:928:20: note: in expansion of macro '__same_type' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~~~~~~~~~ include/linux/rculist.h:277:2: note: in expansion of macro 'container_of' container_of(lockless_dereference(ptr), type, member) ^~~~~~~~~~~~ >> include/linux/rculist.h:351:13: note: in expansion of macro 'list_entry_rcu' for (pos = list_entry_rcu((head)->next, typeof(*pos), member); \ ^~~~~~~~~~~~~~ >> lib/bug.c:212:2: note: in expansion of macro 'list_for_each_entry_rcu' list_for_each_entry_rcu(mod, &module_bug_list, bug_list) ^~~~~~~~~~~~~~~~~~~~~~~ >> include/linux/rculist.h:351:49: error: dereferencing pointer to incomplete type 'struct module' for (pos = list_entry_rcu((head)->next, typeof(*pos), member); \ include/linux/compiler.h:553:19: note: in definition of macro '__compiletime_assert' bool __cond = !(condition); \ ^~~~~~~~~ include/linux/compiler.h:576:2: note: in expansion of macro '_compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^~~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:46:37: note: in expansion of macro 'compiletime_assert' #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^~~~~~~~~~~~~~~~~~ include/linux/kernel.h:928:2: note: in expansion of macro 'BUILD_BUG_ON_MSG' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~~~~~~~~~~~~~~ include/linux/kernel.h:928:20: note: in expansion of macro '__same_type' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~~~~~~~~~ include/linux/rculist.h:277:2: note: in expansion of macro 'container_of' container_of(lockless_dereference(ptr), type, member) ^~~~~~~~~~~~ >> include/linux/rculist.h:351:13: note: in expansion of macro 'list_entry_rcu' for (pos = list_entry_rcu((head)->next, typeof(*pos), member); \ ^~~~~~~~~~~~~~ >> lib/bug.c:212:2: note: in expansion of macro 'list_for_each_entry_rcu' list_for_each_entry_rcu(mod, &module_bug_list, bug_list) ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/kernel.h:929:18: error: invalid type argument of unary '*' (have 'int') !__same_type(*(ptr), void), \ ^~~~~~ include/linux/compiler.h:553:19: note: in definition of macro '__compiletime_assert' bool __cond = !(condition); \ ^~~~~~~~~ include/linux/compiler.h:576:2: note: in expansion of macro '_compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^~~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:46:37: note: in expansion of macro 'compiletime_assert' #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^~~~~~~~~~~~~~~~~~ include/linux/kernel.h:928:2: note: in expansion of macro 'BUILD_BUG_ON_MSG' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~~~~~~~~~~~~~~ include/linux/kernel.h:929:6: note: in expansion of macro '__same_type' !__same_type(*(ptr), void), \ ^~~~~~~~~~~ include/linux/rculist.h:277:2: note: in expansion of macro 'container_of' container_of(lockless_dereference(ptr), type, member) ^~~~~~~~~~~~ >> include/linux/rculist.h:351:13: note: in expansion of macro 'list_entry_rcu' for (pos = list_entry_rcu((head)->next, typeof(*pos), member); \ ^~~~~~~~~~~~~~ >> lib/bug.c:212:2: note: in expansion of macro 'list_for_each_entry_rcu' list_for_each_entry_rcu(mod, &module_bug_list, bug_list) ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/kernel.h:928:32: error: invalid type argument of unary '*' (have 'int') BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~~~~ include/linux/compiler.h:553:19: note: in definition of macro '__compiletime_assert' bool __cond = !(condition); \ ^~~~~~~~~ include/linux/compiler.h:576:2: note: in expansion of macro '_compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^~~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:46:37: note: in expansion of macro 'compiletime_assert' #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^~~~~~~~~~~~~~~~~~ include/linux/kernel.h:928:2: note: in expansion of macro 'BUILD_BUG_ON_MSG' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~~~~~~~~~~~~~~ include/linux/kernel.h:928:20: note: in expansion of macro '__same_type' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~~~~~~~~~ include/linux/rculist.h:277:2: note: in expansion of macro 'container_of' container_of(lockless_dereference(ptr), type, member) ^~~~~~~~~~~~ include/linux/rculist.h:353:9: note: in expansion of macro 'list_entry_rcu' pos = list_entry_rcu(pos->member.next, typeof(*pos), member)) ^~~~~~~~~~~~~~ >> lib/bug.c:212:2: note: in expansion of macro 'list_for_each_entry_rcu' list_for_each_entry_rcu(mod, &module_bug_list, bug_list) ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/kernel.h:929:18: error: invalid type argument of unary '*' (have 'int') !__same_type(*(ptr), void), \ ^~~~~~ include/linux/compiler.h:553:19: note: in definition of macro '__compiletime_assert' bool __cond = !(condition); \ ^~~~~~~~~ include/linux/compiler.h:576:2: note: in expansion of macro '_compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^~~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:46:37: note: in expansion of macro 'compiletime_assert' #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^~~~~~~~~~~~~~~~~~ include/linux/kernel.h:928:2: note: in expansion of macro 'BUILD_BUG_ON_MSG' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~~~~~~~~~~~~~~ include/linux/kernel.h:929:6: note: in expansion of macro '__same_type' !__same_type(*(ptr), void), \ ^~~~~~~~~~~ include/linux/rculist.h:277:2: note: in expansion of macro 'container_of' container_of(lockless_dereference(ptr), type, member) ^~~~~~~~~~~~ include/linux/rculist.h:353:9: note: in expansion of macro 'list_entry_rcu' pos = list_entry_rcu(pos->member.next, typeof(*pos), member)) ^~~~~~~~~~~~~~ >> lib/bug.c:212:2: note: in expansion of macro 'list_for_each_entry_rcu' list_for_each_entry_rcu(mod, &module_bug_list, bug_list) ^~~~~~~~~~~~~~~~~~~~~~~ vim +/list_for_each_entry_rcu +212 lib/bug.c 206 207 void generic_bug_clear_once(void) 208 { 209 struct module *mod; 210 211 rcu_read_lock_sched(); > 212 list_for_each_entry_rcu(mod, &module_bug_list, bug_list) --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip