lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Thu, 6 Aug 2020 20:51:20 +0800
From:   kernel test robot <lkp@...el.com>
To:     peterz <peterz@...radead.org>
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org,
        x86@...nel.org, Ingo Molnar <mingo@...nel.org>
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@...el.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@...rosoft.com>
:::::: CC: Thomas Gleixner <tglx@...utronix.de>

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

Download attachment ".config.gz" of type "application/gzip" (75210 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ