All of lore.kernel.org
 help / color / mirror / Atom feed
* [dhowells-fs:afs-operation 22/27] fs/afs/callback.c:74:38: sparse: sparse: context imbalance in 'afs_lookup_volume_rcu' - different lock contexts for basic block
@ 2020-05-30 22:18 kbuild test robot
  0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2020-05-30 22:18 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 4174 bytes --]

CC: kbuild-all(a)lists.01.org
TO: "David, Howells," <dhowells@redhat.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git afs-operation
head:   0295d9a491871fb70f3e5792955d8ae0801a7ae5
commit: 44f32d4b0c05e78ca628dc52f04d86ec98da1e95 [22/27] afs: Reorganise volume and server trees to be rooted on the cell
:::::: branch date: 30 hours ago
:::::: commit date: 30 hours ago
config: parisc-randconfig-s031-20200531 (attached as .config)
compiler: hppa-linux-gcc (GCC) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.1-243-gc100a7ab-dirty
        git checkout 44f32d4b0c05e78ca628dc52f04d86ec98da1e95
        # save the attached .config to linux build tree
        make W=1 C=1 ARCH=parisc CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

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


sparse warnings: (new ones prefixed by >>)

>> fs/afs/callback.c:74:38: sparse: sparse: context imbalance in 'afs_lookup_volume_rcu' - different lock contexts for basic block

# https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/commit/?id=44f32d4b0c05e78ca628dc52f04d86ec98da1e95
git remote add dhowells-fs https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git
git remote update dhowells-fs
git checkout 44f32d4b0c05e78ca628dc52f04d86ec98da1e95
vim +/afs_lookup_volume_rcu +74 fs/afs/callback.c

^1da177e4c3f41 Linus Torvalds 2005-04-16  58  
fc7e32d8695359 David Howells  2020-03-27  59  /*
44f32d4b0c05e7 David Howells  2020-04-30  60   * Look up a volume by volume ID under RCU conditions.
fc7e32d8695359 David Howells  2020-03-27  61   */
44f32d4b0c05e7 David Howells  2020-04-30  62  static struct afs_volume *afs_lookup_volume_rcu(struct afs_cell *cell,
fc7e32d8695359 David Howells  2020-03-27  63  						afs_volid_t vid)
fc7e32d8695359 David Howells  2020-03-27  64  {
44f32d4b0c05e7 David Howells  2020-04-30  65  	struct afs_volume *volume = NULL;
fc7e32d8695359 David Howells  2020-03-27  66  	struct rb_node *p;
fc7e32d8695359 David Howells  2020-03-27  67  	int seq = 0;
fc7e32d8695359 David Howells  2020-03-27  68  
fc7e32d8695359 David Howells  2020-03-27  69  	do {
fc7e32d8695359 David Howells  2020-03-27  70  		/* Unfortunately, rbtree walking doesn't give reliable results
fc7e32d8695359 David Howells  2020-03-27  71  		 * under just the RCU read lock, so we have to check for
fc7e32d8695359 David Howells  2020-03-27  72  		 * changes.
fc7e32d8695359 David Howells  2020-03-27  73  		 */
44f32d4b0c05e7 David Howells  2020-04-30 @74  		read_seqbegin_or_lock(&cell->volume_lock, &seq);
fc7e32d8695359 David Howells  2020-03-27  75  
44f32d4b0c05e7 David Howells  2020-04-30  76  		p = rcu_dereference_raw(cell->volumes.rb_node);
fc7e32d8695359 David Howells  2020-03-27  77  		while (p) {
44f32d4b0c05e7 David Howells  2020-04-30  78  			volume = rb_entry(p, struct afs_volume, cell_node);
fc7e32d8695359 David Howells  2020-03-27  79  
44f32d4b0c05e7 David Howells  2020-04-30  80  			if (volume->vid < vid)
fc7e32d8695359 David Howells  2020-03-27  81  				p = rcu_dereference_raw(p->rb_left);
44f32d4b0c05e7 David Howells  2020-04-30  82  			else if (volume->vid > vid)
fc7e32d8695359 David Howells  2020-03-27  83  				p = rcu_dereference_raw(p->rb_right);
fc7e32d8695359 David Howells  2020-03-27  84  			else
fc7e32d8695359 David Howells  2020-03-27  85  				break;
44f32d4b0c05e7 David Howells  2020-04-30  86  			volume = NULL;
fc7e32d8695359 David Howells  2020-03-27  87  		}
fc7e32d8695359 David Howells  2020-03-27  88  
44f32d4b0c05e7 David Howells  2020-04-30  89  	} while (need_seqretry(&cell->volume_lock, seq));
fc7e32d8695359 David Howells  2020-03-27  90  
44f32d4b0c05e7 David Howells  2020-04-30  91  	done_seqretry(&cell->volume_lock, seq);
44f32d4b0c05e7 David Howells  2020-04-30  92  	return volume;
fc7e32d8695359 David Howells  2020-03-27  93  }
fc7e32d8695359 David Howells  2020-03-27  94  

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

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 30904 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-05-30 22:18 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-30 22:18 [dhowells-fs:afs-operation 22/27] fs/afs/callback.c:74:38: sparse: sparse: context imbalance in 'afs_lookup_volume_rcu' - different lock contexts for basic block kbuild test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.