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  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:   Sun, 23 Aug 2020 19:23:29 +0800
From:   kernel test robot <lkp@...el.com>
To:     Peter Zijlstra <peterz@...radead.org>
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org,
        Ingo Molnar <mingo@...nel.org>
Subject: include/linux/rwlock_api_smp.h:150:23: error: 'do_raw_read_trylock'
 undeclared; did you mean

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   c3d8f220d01220a5b253e422be407d068dc65511
commit: 0cd39f4600ed4de859383018eb10f0f724900e1b locking/seqlock, headers: Untangle the spaghetti monster
date:   2 weeks ago
config: sh-j2_defconfig (attached as .config)
compiler: sh4-linux-gcc (GCC) 9.3.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
        git checkout 0cd39f4600ed4de859383018eb10f0f724900e1b
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sh 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>

All errors (new ones prefixed by >>):

   In file included from include/linux/spinlock.h:318,
                    from arch/sh/include/asm/smp.h:11,
                    from include/linux/smp.h:82,
                    from include/linux/lockdep.h:14,
                    from include/linux/mutex.h:17,
                    from fs//notify/group.c:7:
   include/linux/spinlock_api_smp.h: In function '__raw_spin_trylock':
   include/linux/spinlock_api_smp.h:90:3: error: implicit declaration of function 'spin_acquire'; did you mean 'xchg_acquire'? [-Werror=implicit-function-declaration]
      90 |   spin_acquire(&lock->dep_map, 0, 1, _RET_IP_);
         |   ^~~~~~~~~~~~
         |   xchg_acquire
   include/linux/spinlock_api_smp.h:90:21: error: 'raw_spinlock_t' {aka 'struct raw_spinlock'} has no member named 'dep_map'
      90 |   spin_acquire(&lock->dep_map, 0, 1, _RET_IP_);
         |                     ^~
   include/linux/spinlock_api_smp.h: In function '__raw_spin_lock_irqsave':
   include/linux/spinlock_api_smp.h:110:20: error: 'raw_spinlock_t' {aka 'struct raw_spinlock'} has no member named 'dep_map'
     110 |  spin_acquire(&lock->dep_map, 0, 0, _RET_IP_);
         |                    ^~
   include/linux/spinlock_api_smp.h: In function '__raw_spin_lock_irq':
   include/linux/spinlock_api_smp.h:128:20: error: 'raw_spinlock_t' {aka 'struct raw_spinlock'} has no member named 'dep_map'
     128 |  spin_acquire(&lock->dep_map, 0, 0, _RET_IP_);
         |                    ^~
   include/linux/spinlock_api_smp.h:129:2: error: implicit declaration of function 'LOCK_CONTENDED' [-Werror=implicit-function-declaration]
     129 |  LOCK_CONTENDED(lock, do_raw_spin_trylock, do_raw_spin_lock);
         |  ^~~~~~~~~~~~~~
   include/linux/spinlock_api_smp.h: In function '__raw_spin_lock_bh':
   include/linux/spinlock_api_smp.h:135:20: error: 'raw_spinlock_t' {aka 'struct raw_spinlock'} has no member named 'dep_map'
     135 |  spin_acquire(&lock->dep_map, 0, 0, _RET_IP_);
         |                    ^~
   include/linux/spinlock_api_smp.h: In function '__raw_spin_lock':
   include/linux/spinlock_api_smp.h:142:20: error: 'raw_spinlock_t' {aka 'struct raw_spinlock'} has no member named 'dep_map'
     142 |  spin_acquire(&lock->dep_map, 0, 0, _RET_IP_);
         |                    ^~
   include/linux/spinlock_api_smp.h: In function '__raw_spin_unlock':
   include/linux/spinlock_api_smp.h:150:2: error: implicit declaration of function 'spin_release'; did you mean 'xchg_release'? [-Werror=implicit-function-declaration]
     150 |  spin_release(&lock->dep_map, _RET_IP_);
         |  ^~~~~~~~~~~~
         |  xchg_release
   include/linux/spinlock_api_smp.h:150:20: error: 'raw_spinlock_t' {aka 'struct raw_spinlock'} has no member named 'dep_map'
     150 |  spin_release(&lock->dep_map, _RET_IP_);
         |                    ^~
   include/linux/spinlock_api_smp.h: In function '__raw_spin_unlock_irqrestore':
   include/linux/spinlock_api_smp.h:158:20: error: 'raw_spinlock_t' {aka 'struct raw_spinlock'} has no member named 'dep_map'
     158 |  spin_release(&lock->dep_map, _RET_IP_);
         |                    ^~
   include/linux/spinlock_api_smp.h: In function '__raw_spin_unlock_irq':
   include/linux/spinlock_api_smp.h:166:20: error: 'raw_spinlock_t' {aka 'struct raw_spinlock'} has no member named 'dep_map'
     166 |  spin_release(&lock->dep_map, _RET_IP_);
         |                    ^~
   include/linux/spinlock_api_smp.h: In function '__raw_spin_unlock_bh':
   include/linux/spinlock_api_smp.h:174:20: error: 'raw_spinlock_t' {aka 'struct raw_spinlock'} has no member named 'dep_map'
     174 |  spin_release(&lock->dep_map, _RET_IP_);
         |                    ^~
   include/linux/spinlock_api_smp.h: In function '__raw_spin_trylock_bh':
   include/linux/spinlock_api_smp.h:183:21: error: 'raw_spinlock_t' {aka 'struct raw_spinlock'} has no member named 'dep_map'
     183 |   spin_acquire(&lock->dep_map, 0, 1, _RET_IP_);
         |                     ^~
   In file included from include/linux/spinlock_api_smp.h:190,
                    from include/linux/spinlock.h:318,
                    from arch/sh/include/asm/smp.h:11,
                    from include/linux/smp.h:82,
                    from include/linux/lockdep.h:14,
                    from include/linux/mutex.h:17,
                    from fs//notify/group.c:7:
   include/linux/rwlock_api_smp.h: In function '__raw_read_trylock':
   include/linux/rwlock_api_smp.h:121:3: error: implicit declaration of function 'rwlock_acquire_read' [-Werror=implicit-function-declaration]
     121 |   rwlock_acquire_read(&lock->dep_map, 0, 1, _RET_IP_);
         |   ^~~~~~~~~~~~~~~~~~~
   include/linux/rwlock_api_smp.h:121:28: error: 'rwlock_t' {aka 'struct <anonymous>'} has no member named 'dep_map'
     121 |   rwlock_acquire_read(&lock->dep_map, 0, 1, _RET_IP_);
         |                            ^~
   include/linux/rwlock_api_smp.h: In function '__raw_write_trylock':
   include/linux/rwlock_api_smp.h:132:3: error: implicit declaration of function 'rwlock_acquire' [-Werror=implicit-function-declaration]
     132 |   rwlock_acquire(&lock->dep_map, 0, 1, _RET_IP_);
         |   ^~~~~~~~~~~~~~
   include/linux/rwlock_api_smp.h:132:23: error: 'rwlock_t' {aka 'struct <anonymous>'} has no member named 'dep_map'
     132 |   rwlock_acquire(&lock->dep_map, 0, 1, _RET_IP_);
         |                       ^~
   include/linux/rwlock_api_smp.h: In function '__raw_read_lock':
   include/linux/rwlock_api_smp.h:149:27: error: 'rwlock_t' {aka 'struct <anonymous>'} has no member named 'dep_map'
     149 |  rwlock_acquire_read(&lock->dep_map, 0, 0, _RET_IP_);
         |                           ^~
>> include/linux/rwlock_api_smp.h:150:23: error: 'do_raw_read_trylock' undeclared (first use in this function); did you mean '_raw_read_trylock'?
     150 |  LOCK_CONTENDED(lock, do_raw_read_trylock, do_raw_read_lock);
         |                       ^~~~~~~~~~~~~~~~~~~
         |                       _raw_read_trylock
   include/linux/rwlock_api_smp.h:150:23: note: each undeclared identifier is reported only once for each function it appears in
   include/linux/rwlock_api_smp.h:150:44: error: 'do_raw_read_lock' undeclared (first use in this function); did you mean '_raw_read_lock'?
     150 |  LOCK_CONTENDED(lock, do_raw_read_trylock, do_raw_read_lock);
         |                                            ^~~~~~~~~~~~~~~~
         |                                            _raw_read_lock
   include/linux/rwlock_api_smp.h: In function '__raw_read_lock_irqsave':
   include/linux/rwlock_api_smp.h:159:27: error: 'rwlock_t' {aka 'struct <anonymous>'} has no member named 'dep_map'
     159 |  rwlock_acquire_read(&lock->dep_map, 0, 0, _RET_IP_);
         |                           ^~
   include/linux/rwlock_api_smp.h:160:2: error: implicit declaration of function 'LOCK_CONTENDED_FLAGS' [-Werror=implicit-function-declaration]
     160 |  LOCK_CONTENDED_FLAGS(lock, do_raw_read_trylock, do_raw_read_lock,
         |  ^~~~~~~~~~~~~~~~~~~~
   include/linux/rwlock_api_smp.h:160:29: error: 'do_raw_read_trylock' undeclared (first use in this function); did you mean '_raw_read_trylock'?
     160 |  LOCK_CONTENDED_FLAGS(lock, do_raw_read_trylock, do_raw_read_lock,
         |                             ^~~~~~~~~~~~~~~~~~~
         |                             _raw_read_trylock
   include/linux/rwlock_api_smp.h:160:50: error: 'do_raw_read_lock' undeclared (first use in this function); did you mean '_raw_read_lock'?
     160 |  LOCK_CONTENDED_FLAGS(lock, do_raw_read_trylock, do_raw_read_lock,
         |                                                  ^~~~~~~~~~~~~~~~
         |                                                  _raw_read_lock
   include/linux/rwlock_api_smp.h:161:9: error: 'do_raw_read_lock_flags' undeclared (first use in this function); did you mean 'do_raw_spin_lock_flags'?
     161 |         do_raw_read_lock_flags, &flags);
         |         ^~~~~~~~~~~~~~~~~~~~~~
         |         do_raw_spin_lock_flags
   include/linux/rwlock_api_smp.h: In function '__raw_read_lock_irq':
   include/linux/rwlock_api_smp.h:169:27: error: 'rwlock_t' {aka 'struct <anonymous>'} has no member named 'dep_map'
     169 |  rwlock_acquire_read(&lock->dep_map, 0, 0, _RET_IP_);
         |                           ^~
   include/linux/rwlock_api_smp.h:170:23: error: 'do_raw_read_trylock' undeclared (first use in this function); did you mean '_raw_read_trylock'?
     170 |  LOCK_CONTENDED(lock, do_raw_read_trylock, do_raw_read_lock);
         |                       ^~~~~~~~~~~~~~~~~~~
         |                       _raw_read_trylock
   include/linux/rwlock_api_smp.h:170:44: error: 'do_raw_read_lock' undeclared (first use in this function); did you mean '_raw_read_lock'?
     170 |  LOCK_CONTENDED(lock, do_raw_read_trylock, do_raw_read_lock);
         |                                            ^~~~~~~~~~~~~~~~
         |                                            _raw_read_lock
   include/linux/rwlock_api_smp.h: In function '__raw_read_lock_bh':
   include/linux/rwlock_api_smp.h:176:27: error: 'rwlock_t' {aka 'struct <anonymous>'} has no member named 'dep_map'
     176 |  rwlock_acquire_read(&lock->dep_map, 0, 0, _RET_IP_);
         |                           ^~
   include/linux/rwlock_api_smp.h:177:23: error: 'do_raw_read_trylock' undeclared (first use in this function); did you mean '_raw_read_trylock'?
     177 |  LOCK_CONTENDED(lock, do_raw_read_trylock, do_raw_read_lock);
         |                       ^~~~~~~~~~~~~~~~~~~
         |                       _raw_read_trylock
   include/linux/rwlock_api_smp.h:177:44: error: 'do_raw_read_lock' undeclared (first use in this function); did you mean '_raw_read_lock'?
     177 |  LOCK_CONTENDED(lock, do_raw_read_trylock, do_raw_read_lock);
         |                                            ^~~~~~~~~~~~~~~~
         |                                            _raw_read_lock
   include/linux/rwlock_api_smp.h: In function '__raw_write_lock_irqsave':
   include/linux/rwlock_api_smp.h:186:22: error: 'rwlock_t' {aka 'struct <anonymous>'} has no member named 'dep_map'
     186 |  rwlock_acquire(&lock->dep_map, 0, 0, _RET_IP_);
         |                      ^~
>> include/linux/rwlock_api_smp.h:187:29: error: 'do_raw_write_trylock' undeclared (first use in this function); did you mean '_raw_write_trylock'?
     187 |  LOCK_CONTENDED_FLAGS(lock, do_raw_write_trylock, do_raw_write_lock,
         |                             ^~~~~~~~~~~~~~~~~~~~
         |                             _raw_write_trylock
   include/linux/rwlock_api_smp.h:187:51: error: 'do_raw_write_lock' undeclared (first use in this function); did you mean '_raw_write_lock'?
     187 |  LOCK_CONTENDED_FLAGS(lock, do_raw_write_trylock, do_raw_write_lock,
         |                                                   ^~~~~~~~~~~~~~~~~
         |                                                   _raw_write_lock
   include/linux/rwlock_api_smp.h:188:9: error: 'do_raw_write_lock_flags' undeclared (first use in this function); did you mean 'do_raw_spin_lock_flags'?
     188 |         do_raw_write_lock_flags, &flags);
         |         ^~~~~~~~~~~~~~~~~~~~~~~
         |         do_raw_spin_lock_flags
   include/linux/rwlock_api_smp.h: In function '__raw_write_lock_irq':
   include/linux/rwlock_api_smp.h:196:22: error: 'rwlock_t' {aka 'struct <anonymous>'} has no member named 'dep_map'
     196 |  rwlock_acquire(&lock->dep_map, 0, 0, _RET_IP_);
         |                      ^~
   include/linux/rwlock_api_smp.h:197:23: error: 'do_raw_write_trylock' undeclared (first use in this function); did you mean '_raw_write_trylock'?
     197 |  LOCK_CONTENDED(lock, do_raw_write_trylock, do_raw_write_lock);
         |                       ^~~~~~~~~~~~~~~~~~~~
         |                       _raw_write_trylock
   include/linux/rwlock_api_smp.h:197:45: error: 'do_raw_write_lock' undeclared (first use in this function); did you mean '_raw_write_lock'?
     197 |  LOCK_CONTENDED(lock, do_raw_write_trylock, do_raw_write_lock);
         |                                             ^~~~~~~~~~~~~~~~~
         |                                             _raw_write_lock
   include/linux/rwlock_api_smp.h: In function '__raw_write_lock_bh':
   include/linux/rwlock_api_smp.h:203:22: error: 'rwlock_t' {aka 'struct <anonymous>'} has no member named 'dep_map'
     203 |  rwlock_acquire(&lock->dep_map, 0, 0, _RET_IP_);
         |                      ^~
   include/linux/rwlock_api_smp.h:204:23: error: 'do_raw_write_trylock' undeclared (first use in this function); did you mean '_raw_write_trylock'?
     204 |  LOCK_CONTENDED(lock, do_raw_write_trylock, do_raw_write_lock);
         |                       ^~~~~~~~~~~~~~~~~~~~
         |                       _raw_write_trylock
   include/linux/rwlock_api_smp.h:204:45: error: 'do_raw_write_lock' undeclared (first use in this function); did you mean '_raw_write_lock'?
     204 |  LOCK_CONTENDED(lock, do_raw_write_trylock, do_raw_write_lock);
         |                                             ^~~~~~~~~~~~~~~~~
         |                                             _raw_write_lock
   include/linux/rwlock_api_smp.h: In function '__raw_write_lock':
   include/linux/rwlock_api_smp.h:210:22: error: 'rwlock_t' {aka 'struct <anonymous>'} has no member named 'dep_map'
     210 |  rwlock_acquire(&lock->dep_map, 0, 0, _RET_IP_);
         |                      ^~
   include/linux/rwlock_api_smp.h:211:23: error: 'do_raw_write_trylock' undeclared (first use in this function); did you mean '_raw_write_trylock'?
     211 |  LOCK_CONTENDED(lock, do_raw_write_trylock, do_raw_write_lock);
         |                       ^~~~~~~~~~~~~~~~~~~~
         |                       _raw_write_trylock
   include/linux/rwlock_api_smp.h:211:45: error: 'do_raw_write_lock' undeclared (first use in this function); did you mean '_raw_write_lock'?
     211 |  LOCK_CONTENDED(lock, do_raw_write_trylock, do_raw_write_lock);
         |                                             ^~~~~~~~~~~~~~~~~
         |                                             _raw_write_lock
   include/linux/rwlock_api_smp.h: In function '__raw_write_unlock':
   include/linux/rwlock_api_smp.h:218:2: error: implicit declaration of function 'rwlock_release' [-Werror=implicit-function-declaration]
     218 |  rwlock_release(&lock->dep_map, _RET_IP_);
         |  ^~~~~~~~~~~~~~
   include/linux/rwlock_api_smp.h:218:22: error: 'rwlock_t' {aka 'struct <anonymous>'} has no member named 'dep_map'
     218 |  rwlock_release(&lock->dep_map, _RET_IP_);
         |                      ^~
   include/linux/rwlock_api_smp.h: In function '__raw_read_unlock':
   include/linux/rwlock_api_smp.h:225:22: error: 'rwlock_t' {aka 'struct <anonymous>'} has no member named 'dep_map'
     225 |  rwlock_release(&lock->dep_map, _RET_IP_);
         |                      ^~
   include/linux/rwlock_api_smp.h: In function '__raw_read_unlock_irqrestore':
   include/linux/rwlock_api_smp.h:233:22: error: 'rwlock_t' {aka 'struct <anonymous>'} has no member named 'dep_map'
     233 |  rwlock_release(&lock->dep_map, _RET_IP_);
         |                      ^~
   include/linux/rwlock_api_smp.h: In function '__raw_read_unlock_irq':
   include/linux/rwlock_api_smp.h:241:22: error: 'rwlock_t' {aka 'struct <anonymous>'} has no member named 'dep_map'
     241 |  rwlock_release(&lock->dep_map, _RET_IP_);
         |                      ^~
   include/linux/rwlock_api_smp.h: In function '__raw_read_unlock_bh':
   include/linux/rwlock_api_smp.h:249:22: error: 'rwlock_t' {aka 'struct <anonymous>'} has no member named 'dep_map'
     249 |  rwlock_release(&lock->dep_map, _RET_IP_);
         |                      ^~
   include/linux/rwlock_api_smp.h: In function '__raw_write_unlock_irqrestore':
   include/linux/rwlock_api_smp.h:257:22: error: 'rwlock_t' {aka 'struct <anonymous>'} has no member named 'dep_map'
     257 |  rwlock_release(&lock->dep_map, _RET_IP_);
         |                      ^~
   include/linux/rwlock_api_smp.h: In function '__raw_write_unlock_irq':
   include/linux/rwlock_api_smp.h:265:22: error: 'rwlock_t' {aka 'struct <anonymous>'} has no member named 'dep_map'
     265 |  rwlock_release(&lock->dep_map, _RET_IP_);
         |                      ^~
   include/linux/rwlock_api_smp.h: In function '__raw_write_unlock_bh':
   include/linux/rwlock_api_smp.h:273:22: error: 'rwlock_t' {aka 'struct <anonymous>'} has no member named 'dep_map'
     273 |  rwlock_release(&lock->dep_map, _RET_IP_);
         |                      ^~
   cc1: some warnings being treated as errors

# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0cd39f4600ed4de859383018eb10f0f724900e1b
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 0cd39f4600ed4de859383018eb10f0f724900e1b
vim +150 include/linux/rwlock_api_smp.h

6b6b4792f89346 Thomas Gleixner 2009-11-16  127  
9c1721aa4994f6 Thomas Gleixner 2009-12-03  128  static inline int __raw_write_trylock(rwlock_t *lock)
6b6b4792f89346 Thomas Gleixner 2009-11-16  129  {
6b6b4792f89346 Thomas Gleixner 2009-11-16  130  	preempt_disable();
9828ea9d75c38f Thomas Gleixner 2009-12-03  131  	if (do_raw_write_trylock(lock)) {
6b6b4792f89346 Thomas Gleixner 2009-11-16 @132  		rwlock_acquire(&lock->dep_map, 0, 1, _RET_IP_);
6b6b4792f89346 Thomas Gleixner 2009-11-16  133  		return 1;
6b6b4792f89346 Thomas Gleixner 2009-11-16  134  	}
6b6b4792f89346 Thomas Gleixner 2009-11-16  135  	preempt_enable();
6b6b4792f89346 Thomas Gleixner 2009-11-16  136  	return 0;
6b6b4792f89346 Thomas Gleixner 2009-11-16  137  }
6b6b4792f89346 Thomas Gleixner 2009-11-16  138  
6b6b4792f89346 Thomas Gleixner 2009-11-16  139  /*
6b6b4792f89346 Thomas Gleixner 2009-11-16  140   * If lockdep is enabled then we use the non-preemption spin-ops
6b6b4792f89346 Thomas Gleixner 2009-11-16  141   * even on CONFIG_PREEMPT, because lockdep assumes that interrupts are
6b6b4792f89346 Thomas Gleixner 2009-11-16  142   * not re-enabled during lock-acquire (which the preempt-spin-ops do):
6b6b4792f89346 Thomas Gleixner 2009-11-16  143   */
6b6b4792f89346 Thomas Gleixner 2009-11-16  144  #if !defined(CONFIG_GENERIC_LOCKBREAK) || defined(CONFIG_DEBUG_LOCK_ALLOC)
6b6b4792f89346 Thomas Gleixner 2009-11-16  145  
9c1721aa4994f6 Thomas Gleixner 2009-12-03  146  static inline void __raw_read_lock(rwlock_t *lock)
6b6b4792f89346 Thomas Gleixner 2009-11-16  147  {
6b6b4792f89346 Thomas Gleixner 2009-11-16  148  	preempt_disable();
6b6b4792f89346 Thomas Gleixner 2009-11-16  149  	rwlock_acquire_read(&lock->dep_map, 0, 0, _RET_IP_);
9828ea9d75c38f Thomas Gleixner 2009-12-03 @150  	LOCK_CONTENDED(lock, do_raw_read_trylock, do_raw_read_lock);
6b6b4792f89346 Thomas Gleixner 2009-11-16  151  }
6b6b4792f89346 Thomas Gleixner 2009-11-16  152  
9c1721aa4994f6 Thomas Gleixner 2009-12-03  153  static inline unsigned long __raw_read_lock_irqsave(rwlock_t *lock)
6b6b4792f89346 Thomas Gleixner 2009-11-16  154  {
6b6b4792f89346 Thomas Gleixner 2009-11-16  155  	unsigned long flags;
6b6b4792f89346 Thomas Gleixner 2009-11-16  156  
6b6b4792f89346 Thomas Gleixner 2009-11-16  157  	local_irq_save(flags);
6b6b4792f89346 Thomas Gleixner 2009-11-16  158  	preempt_disable();
6b6b4792f89346 Thomas Gleixner 2009-11-16  159  	rwlock_acquire_read(&lock->dep_map, 0, 0, _RET_IP_);
9828ea9d75c38f Thomas Gleixner 2009-12-03  160  	LOCK_CONTENDED_FLAGS(lock, do_raw_read_trylock, do_raw_read_lock,
9828ea9d75c38f Thomas Gleixner 2009-12-03  161  			     do_raw_read_lock_flags, &flags);
6b6b4792f89346 Thomas Gleixner 2009-11-16  162  	return flags;
6b6b4792f89346 Thomas Gleixner 2009-11-16  163  }
6b6b4792f89346 Thomas Gleixner 2009-11-16  164  
9c1721aa4994f6 Thomas Gleixner 2009-12-03  165  static inline void __raw_read_lock_irq(rwlock_t *lock)
6b6b4792f89346 Thomas Gleixner 2009-11-16  166  {
6b6b4792f89346 Thomas Gleixner 2009-11-16  167  	local_irq_disable();
6b6b4792f89346 Thomas Gleixner 2009-11-16  168  	preempt_disable();
6b6b4792f89346 Thomas Gleixner 2009-11-16  169  	rwlock_acquire_read(&lock->dep_map, 0, 0, _RET_IP_);
9828ea9d75c38f Thomas Gleixner 2009-12-03  170  	LOCK_CONTENDED(lock, do_raw_read_trylock, do_raw_read_lock);
6b6b4792f89346 Thomas Gleixner 2009-11-16  171  }
6b6b4792f89346 Thomas Gleixner 2009-11-16  172  
9c1721aa4994f6 Thomas Gleixner 2009-12-03  173  static inline void __raw_read_lock_bh(rwlock_t *lock)
6b6b4792f89346 Thomas Gleixner 2009-11-16  174  {
9ea4c380066fbe Peter Zijlstra  2013-11-19  175  	__local_bh_disable_ip(_RET_IP_, SOFTIRQ_LOCK_OFFSET);
6b6b4792f89346 Thomas Gleixner 2009-11-16  176  	rwlock_acquire_read(&lock->dep_map, 0, 0, _RET_IP_);
9828ea9d75c38f Thomas Gleixner 2009-12-03 @177  	LOCK_CONTENDED(lock, do_raw_read_trylock, do_raw_read_lock);
6b6b4792f89346 Thomas Gleixner 2009-11-16  178  }
6b6b4792f89346 Thomas Gleixner 2009-11-16  179  
9c1721aa4994f6 Thomas Gleixner 2009-12-03  180  static inline unsigned long __raw_write_lock_irqsave(rwlock_t *lock)
6b6b4792f89346 Thomas Gleixner 2009-11-16  181  {
6b6b4792f89346 Thomas Gleixner 2009-11-16  182  	unsigned long flags;
6b6b4792f89346 Thomas Gleixner 2009-11-16  183  
6b6b4792f89346 Thomas Gleixner 2009-11-16  184  	local_irq_save(flags);
6b6b4792f89346 Thomas Gleixner 2009-11-16  185  	preempt_disable();
6b6b4792f89346 Thomas Gleixner 2009-11-16  186  	rwlock_acquire(&lock->dep_map, 0, 0, _RET_IP_);
9828ea9d75c38f Thomas Gleixner 2009-12-03 @187  	LOCK_CONTENDED_FLAGS(lock, do_raw_write_trylock, do_raw_write_lock,
9828ea9d75c38f Thomas Gleixner 2009-12-03  188  			     do_raw_write_lock_flags, &flags);
6b6b4792f89346 Thomas Gleixner 2009-11-16  189  	return flags;
6b6b4792f89346 Thomas Gleixner 2009-11-16  190  }
6b6b4792f89346 Thomas Gleixner 2009-11-16  191  

:::::: The code at line 150 was first introduced by commit
:::::: 9828ea9d75c38fe3dce05d00566eed61c85732e6 locking: Further name space cleanups

:::::: TO: Thomas Gleixner <tglx@...utronix.de>
:::::: 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" (13065 bytes)

Powered by blists - more mailing lists