Messages in this thread | ![/](/images/icornerl.gif) | | Date | Thu, 6 Aug 2020 20:51:20 +0800 | From | kernel test robot <> | Subject | [tip:WIP.locking/urgent 3/3] include/linux/lockdep.h:265:19: error: static declaration of 'lock_is_held' follows non-static declaration |
| |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git WIP.locking/urgent head: 7c4c257fea99f39dc639d68017c9d5e573d8e59d commit: 7c4c257fea99f39dc639d68017c9d5e573d8e59d [3/3] locking/seqlock, headers: Untangle the spaghetti monster config: x86_64-allyesconfig (attached as .config) compiler: gcc-9 (Debian 9.3.0-15) 9.3.0 reproduce (this is a W=1 build): git checkout 7c4c257fea99f39dc639d68017c9d5e573d8e59d # save the attached .config to linux build tree make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com>
All error/warnings (new ones prefixed by >>):
In file included from include/linux/rbtree.h:22, from include/linux/mm_types.h:10, from include/asm-generic/fixmap.h:19, from arch/x86/include/asm/fixmap.h:189, from arch/x86/include/asm/apic.h:11, from arch/x86/include/asm/smp.h:13, from include/linux/smp.h:82, from include/linux/lockdep.h:14, from include/linux/spinlock.h:59, from include/linux/mmzone.h:8, from include/linux/gfp.h:6, from include/linux/slab.h:15, from include/linux/crypto.h:19, from arch/x86/kernel/asm-offsets.c:9: include/linux/rcupdate.h: In function 'rcu_lock_acquire': >> include/linux/rcupdate.h:241:2: error: implicit declaration of function 'lock_acquire'; did you mean 'rcu_lock_acquire'? [-Werror=implicit-function-declaration] 241 | lock_acquire(map, 0, 0, 2, 0, NULL, _THIS_IP_); | ^~~~~~~~~~~~ | rcu_lock_acquire include/linux/rcupdate.h: In function 'rcu_lock_release': >> include/linux/rcupdate.h:246:2: error: implicit declaration of function 'lock_release'; did you mean 'rcu_lock_release'? [-Werror=implicit-function-declaration] 246 | lock_release(map, _THIS_IP_); | ^~~~~~~~~~~~ | rcu_lock_release include/linux/rcupdate.h: In function 'rcu_preempt_sleep_check': >> include/linux/rcupdate.h:305:19: error: implicit declaration of function 'lock_is_held' [-Werror=implicit-function-declaration] 305 | RCU_LOCKDEP_WARN(lock_is_held(&rcu_lock_map), | ^~~~~~~~~~~~ include/linux/rcupdate.h:296:52: note: in definition of macro 'RCU_LOCKDEP_WARN' 296 | if (debug_lockdep_rcu_enabled() && !__warned && (c)) { \ | ^ >> include/linux/rcupdate.h:298:4: error: implicit declaration of function 'lockdep_rcu_suspicious' [-Werror=implicit-function-declaration] 298 | lockdep_rcu_suspicious(__FILE__, __LINE__, s); \ | ^~~~~~~~~~~~~~~~~~~~~~ include/linux/rcupdate.h:305:2: note: in expansion of macro 'RCU_LOCKDEP_WARN' 305 | RCU_LOCKDEP_WARN(lock_is_held(&rcu_lock_map), | ^~~~~~~~~~~~~~~~ In file included from include/linux/mm_types.h:11, from include/asm-generic/fixmap.h:19, from arch/x86/include/asm/fixmap.h:189, from arch/x86/include/asm/apic.h:11, from arch/x86/include/asm/smp.h:13, from include/linux/smp.h:82, from include/linux/lockdep.h:14, from include/linux/spinlock.h:59, from include/linux/mmzone.h:8, from include/linux/gfp.h:6, from include/linux/slab.h:15, from include/linux/crypto.h:19, from arch/x86/kernel/asm-offsets.c:9: include/linux/rwsem.h: At top level: >> include/linux/rwsem.h:46:2: error: unknown type name 'raw_spinlock_t' 46 | raw_spinlock_t wait_lock; | ^~~~~~~~~~~~~~ In file included from include/linux/swait.h:8, from include/linux/completion.h:12, from include/linux/mm_types.h:12, from include/asm-generic/fixmap.h:19, from arch/x86/include/asm/fixmap.h:189, from arch/x86/include/asm/apic.h:11, from arch/x86/include/asm/smp.h:13, from include/linux/smp.h:82, from include/linux/lockdep.h:14, from include/linux/spinlock.h:59, from include/linux/mmzone.h:8, from include/linux/gfp.h:6, from include/linux/slab.h:15, from include/linux/crypto.h:19, from arch/x86/kernel/asm-offsets.c:9: >> include/linux/wait.h:36:2: error: unknown type name 'spinlock_t' 36 | spinlock_t lock; | ^~~~~~~~~~ In file included from include/linux/completion.h:12, from include/linux/mm_types.h:12, from include/asm-generic/fixmap.h:19, from arch/x86/include/asm/fixmap.h:189, from arch/x86/include/asm/apic.h:11, from arch/x86/include/asm/smp.h:13, from include/linux/smp.h:82, from include/linux/lockdep.h:14, from include/linux/spinlock.h:59, from include/linux/mmzone.h:8, from include/linux/gfp.h:6, from include/linux/slab.h:15, from include/linux/crypto.h:19, from arch/x86/kernel/asm-offsets.c:9: >> include/linux/swait.h:44:2: error: unknown type name 'raw_spinlock_t' 44 | raw_spinlock_t lock; | ^~~~~~~~~~~~~~ In file included from include/linux/spinlock.h:59, from include/linux/mmzone.h:8, from include/linux/gfp.h:6, from include/linux/slab.h:15, from include/linux/crypto.h:19, from arch/x86/kernel/asm-offsets.c:9: >> include/linux/lockdep.h:254:13: warning: conflicting types for 'lock_acquire' 254 | extern void lock_acquire(struct lockdep_map *lock, unsigned int subclass, | ^~~~~~~~~~~~ In file included from include/linux/rbtree.h:22, from include/linux/mm_types.h:10, from include/asm-generic/fixmap.h:19, from arch/x86/include/asm/fixmap.h:189, from arch/x86/include/asm/apic.h:11, from arch/x86/include/asm/smp.h:13, from include/linux/smp.h:82, from include/linux/lockdep.h:14, from include/linux/spinlock.h:59, from include/linux/mmzone.h:8, from include/linux/gfp.h:6, from include/linux/slab.h:15, from include/linux/crypto.h:19, from arch/x86/kernel/asm-offsets.c:9: include/linux/rcupdate.h:241:2: note: previous implicit declaration of 'lock_acquire' was here 241 | lock_acquire(map, 0, 0, 2, 0, NULL, _THIS_IP_); | ^~~~~~~~~~~~ In file included from include/linux/spinlock.h:59, from include/linux/mmzone.h:8, from include/linux/gfp.h:6, from include/linux/slab.h:15, from include/linux/crypto.h:19, from arch/x86/kernel/asm-offsets.c:9: >> include/linux/lockdep.h:258:13: warning: conflicting types for 'lock_release' 258 | extern void lock_release(struct lockdep_map *lock, unsigned long ip); | ^~~~~~~~~~~~ In file included from include/linux/rbtree.h:22, from include/linux/mm_types.h:10, from include/asm-generic/fixmap.h:19, from arch/x86/include/asm/fixmap.h:189, from arch/x86/include/asm/apic.h:11, from arch/x86/include/asm/smp.h:13, from include/linux/smp.h:82, from include/linux/lockdep.h:14, from include/linux/spinlock.h:59, from include/linux/mmzone.h:8, from include/linux/gfp.h:6, from include/linux/slab.h:15, from include/linux/crypto.h:19, from arch/x86/kernel/asm-offsets.c:9: include/linux/rcupdate.h:246:2: note: previous implicit declaration of 'lock_release' was here 246 | lock_release(map, _THIS_IP_); | ^~~~~~~~~~~~ In file included from include/linux/spinlock.h:59, from include/linux/mmzone.h:8, from include/linux/gfp.h:6, from include/linux/slab.h:15, from include/linux/crypto.h:19, from arch/x86/kernel/asm-offsets.c:9: >> include/linux/lockdep.h:265:19: error: static declaration of 'lock_is_held' follows non-static declaration 265 | static inline int lock_is_held(const struct lockdep_map *lock) | ^~~~~~~~~~~~ In file included from include/linux/rbtree.h:22, from include/linux/mm_types.h:10, from include/asm-generic/fixmap.h:19, from arch/x86/include/asm/fixmap.h:189, from arch/x86/include/asm/apic.h:11, from arch/x86/include/asm/smp.h:13, from include/linux/smp.h:82, from include/linux/lockdep.h:14, from include/linux/spinlock.h:59, from include/linux/mmzone.h:8, from include/linux/gfp.h:6, from include/linux/slab.h:15, from include/linux/crypto.h:19, from arch/x86/kernel/asm-offsets.c:9: include/linux/rcupdate.h:305:19: note: previous implicit declaration of 'lock_is_held' was here 305 | RCU_LOCKDEP_WARN(lock_is_held(&rcu_lock_map), | ^~~~~~~~~~~~ include/linux/rcupdate.h:296:52: note: in definition of macro 'RCU_LOCKDEP_WARN' 296 | if (debug_lockdep_rcu_enabled() && !__warned && (c)) { \ | ^ In file included from include/linux/spinlock.h:59, from include/linux/mmzone.h:8, from include/linux/gfp.h:6, from include/linux/slab.h:15, from include/linux/crypto.h:19, from arch/x86/kernel/asm-offsets.c:9: >> include/linux/lockdep.h:598:6: warning: conflicting types for 'lockdep_rcu_suspicious' 598 | void lockdep_rcu_suspicious(const char *file, const int line, const char *s); | ^~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/rbtree.h:22, from include/linux/mm_types.h:10, from include/asm-generic/fixmap.h:19, from arch/x86/include/asm/fixmap.h:189, from arch/x86/include/asm/apic.h:11, from arch/x86/include/asm/smp.h:13, from include/linux/smp.h:82, from include/linux/lockdep.h:14, from include/linux/spinlock.h:59, from include/linux/mmzone.h:8, from include/linux/gfp.h:6, from include/linux/slab.h:15, from include/linux/crypto.h:19, from arch/x86/kernel/asm-offsets.c:9: include/linux/rcupdate.h:298:4: note: previous implicit declaration of 'lockdep_rcu_suspicious' was here 298 | lockdep_rcu_suspicious(__FILE__, __LINE__, s); \ | ^~~~~~~~~~~~~~~~~~~~~~ include/linux/rcupdate.h:305:2: note: in expansion of macro 'RCU_LOCKDEP_WARN' 305 | RCU_LOCKDEP_WARN(lock_is_held(&rcu_lock_map), | ^~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors make[2]: *** [scripts/Makefile.build:114: arch/x86/kernel/asm-offsets.s] Error 1 make[2]: Target '__build' not remade because of errors. make[1]: *** [Makefile:1175: prepare0] Error 2 make[1]: Target 'prepare' not remade because of errors. make: *** [Makefile:185: __sub-make] Error 2 make: Target 'prepare' not remade because of errors.
vim +/lock_is_held +265 include/linux/lockdep.h
fbb9ce9530fd9b Ingo Molnar 2006-07-03 239 fbb9ce9530fd9b Ingo Molnar 2006-07-03 240 /* fbb9ce9530fd9b Ingo Molnar 2006-07-03 241 * Acquire a lock. fbb9ce9530fd9b Ingo Molnar 2006-07-03 242 * fbb9ce9530fd9b Ingo Molnar 2006-07-03 243 * Values for "read": fbb9ce9530fd9b Ingo Molnar 2006-07-03 244 * fbb9ce9530fd9b Ingo Molnar 2006-07-03 245 * 0: exclusive (write) acquire fbb9ce9530fd9b Ingo Molnar 2006-07-03 246 * 1: read-acquire (no recursion allowed) fbb9ce9530fd9b Ingo Molnar 2006-07-03 247 * 2: read-acquire with same-instance recursion allowed fbb9ce9530fd9b Ingo Molnar 2006-07-03 248 * fbb9ce9530fd9b Ingo Molnar 2006-07-03 249 * Values for check: fbb9ce9530fd9b Ingo Molnar 2006-07-03 250 * fb9edbe98493fc Oleg Nesterov 2014-01-20 251 * 0: simple checks (freeing, held-at-exit-time, etc.) fb9edbe98493fc Oleg Nesterov 2014-01-20 252 * 1: full validation fbb9ce9530fd9b Ingo Molnar 2006-07-03 253 */ fbb9ce9530fd9b Ingo Molnar 2006-07-03 @254 extern void lock_acquire(struct lockdep_map *lock, unsigned int subclass, 7531e2f34d1d55 Peter Zijlstra 2008-08-11 255 int trylock, int read, int check, 7531e2f34d1d55 Peter Zijlstra 2008-08-11 256 struct lockdep_map *nest_lock, unsigned long ip); fbb9ce9530fd9b Ingo Molnar 2006-07-03 257 5facae4f3549b5 Qian Cai 2019-09-19 @258 extern void lock_release(struct lockdep_map *lock, unsigned long ip); fbb9ce9530fd9b Ingo Molnar 2006-07-03 259 f8319483f57f1c Peter Zijlstra 2016-11-30 260 /* f8319483f57f1c Peter Zijlstra 2016-11-30 261 * Same "read" as for lock_acquire(), except -1 means any. f8319483f57f1c Peter Zijlstra 2016-11-30 262 */ 08f36ff642342f Matthew Wilcox 2018-01-17 263 extern int lock_is_held_type(const struct lockdep_map *lock, int read); f8319483f57f1c Peter Zijlstra 2016-11-30 264 08f36ff642342f Matthew Wilcox 2018-01-17 @265 static inline int lock_is_held(const struct lockdep_map *lock) f8319483f57f1c Peter Zijlstra 2016-11-30 266 { f8319483f57f1c Peter Zijlstra 2016-11-30 267 return lock_is_held_type(lock, -1); f8319483f57f1c Peter Zijlstra 2016-11-30 268 } f607c668577481 Peter Zijlstra 2009-07-20 269
:::::: The code at line 265 was first introduced by commit :::::: 08f36ff642342fb058212099757cb5d40f158c2a lockdep: Make lockdep checking constant
:::::: TO: Matthew Wilcox <mawilcox@microsoft.com> :::::: CC: Thomas Gleixner <tglx@linutronix.de>
--- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org [unhandled content-type:application/gzip] | ![\](/images/icornerr.gif) |