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]
Message-ID: <201705100011.WvXzvwMt%fengguang.wu@intel.com>
Date:   Wed, 10 May 2017 00:45:31 +0800
From:   kbuild test robot <fengguang.wu@...el.com>
To:     Matthew Wilcox <mawilcox@...rosoft.com>
Cc:     kbuild-all@...org, linux-kernel@...r.kernel.org
Subject: fs/fs-writeback.c:1433:20: sparse: context imbalance in
 'writeback_single_inode' - different lock contexts for basic block

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   2868b2513aa732a99ea4a0a6bf10dc93c1f3dac2
commit: d7b627277b57370223d682cede979a279284b12a radix-tree: Fix __rcu annotations
date:   3 months ago
reproduce:
        # apt-get install sparse
        git checkout d7b627277b57370223d682cede979a279284b12a
        make ARCH=x86_64 allmodconfig
        make C=1 CF=-D__CHECK_ENDIAN__


sparse warnings: (new ones prefixed by >>)

   fs/fs-writeback.c:364:9: sparse: incorrect type in assignment (different address spaces)
   fs/fs-writeback.c:364:9:    expected void **slot
   fs/fs-writeback.c:364:9:    got void [noderef] <asn:4>**
   fs/fs-writeback.c:364:9: sparse: incorrect type in assignment (different address spaces)
   fs/fs-writeback.c:364:9:    expected void **slot
   fs/fs-writeback.c:364:9:    got void [noderef] <asn:4>**
   fs/fs-writeback.c:366:69: sparse: incorrect type in argument 1 (different address spaces)
   fs/fs-writeback.c:366:69:    expected void [noderef] <asn:4>**slot
   fs/fs-writeback.c:366:69:    got void **slot
   fs/fs-writeback.c:364:9: sparse: incorrect type in argument 1 (different address spaces)
   fs/fs-writeback.c:364:9:    expected void [noderef] <asn:4>**slot
   fs/fs-writeback.c:364:9:    got void **slot
   fs/fs-writeback.c:364:9: sparse: incorrect type in assignment (different address spaces)
   fs/fs-writeback.c:364:9:    expected void **slot
   fs/fs-writeback.c:364:9:    got void [noderef] <asn:4>**
   fs/fs-writeback.c:374:9: sparse: incorrect type in assignment (different address spaces)
   fs/fs-writeback.c:374:9:    expected void **slot
   fs/fs-writeback.c:374:9:    got void [noderef] <asn:4>**
   fs/fs-writeback.c:374:9: sparse: incorrect type in assignment (different address spaces)
   fs/fs-writeback.c:374:9:    expected void **slot
   fs/fs-writeback.c:374:9:    got void [noderef] <asn:4>**
   fs/fs-writeback.c:376:69: sparse: incorrect type in argument 1 (different address spaces)
   fs/fs-writeback.c:376:69:    expected void [noderef] <asn:4>**slot
   fs/fs-writeback.c:376:69:    got void **slot
   fs/fs-writeback.c:374:9: sparse: incorrect type in argument 1 (different address spaces)
   fs/fs-writeback.c:374:9:    expected void [noderef] <asn:4>**slot
   fs/fs-writeback.c:374:9:    got void **slot
   fs/fs-writeback.c:374:9: sparse: incorrect type in assignment (different address spaces)
   fs/fs-writeback.c:374:9:    expected void **slot
   fs/fs-writeback.c:374:9:    got void [noderef] <asn:4>**
   fs/fs-writeback.c:536:15: sparse: context imbalance in 'wbc_attach_and_unlock_inode' - unexpected unlock
   include/linux/rcupdate.h:927:9: sparse: context imbalance in 'inode_congested' - different lock contexts for basic block
>> fs/fs-writeback.c:1433:20: sparse: context imbalance in 'writeback_single_inode' - different lock contexts for basic block
   fs/fs-writeback.c:1616:9: sparse: context imbalance in 'writeback_sb_inodes' - different lock contexts for basic block
   fs/fs-writeback.c:2027:9: sparse: context imbalance in 'block_dump___mark_inode_dirty' - different lock contexts for basic block

vim +/writeback_single_inode +1433 fs/fs-writeback.c

4f8ad655 Jan Kara       2012-05-03  1417  
cd8ed2a4 Yan Hong       2012-10-08  1418  	ret = __writeback_single_inode(inode, wbc);
^1da177e Linus Torvalds 2005-04-16  1419  
b16b1deb Tejun Heo      2015-06-02  1420  	wbc_detach_inode(wbc);
aaf25593 Tejun Heo      2016-03-18  1421  
aaf25593 Tejun Heo      2016-03-18  1422  	wb = inode_to_wb_and_lock_list(inode);
250df6ed Dave Chinner   2011-03-22  1423  	spin_lock(&inode->i_lock);
4f8ad655 Jan Kara       2012-05-03  1424  	/*
4f8ad655 Jan Kara       2012-05-03  1425  	 * If inode is clean, remove it from writeback lists. Otherwise don't
4f8ad655 Jan Kara       2012-05-03  1426  	 * touch it. See comment above for explanation.
4f8ad655 Jan Kara       2012-05-03  1427  	 */
0ae45f63 Theodore Ts'o  2015-02-02  1428  	if (!(inode->i_state & I_DIRTY_ALL))
c7f54084 Dave Chinner   2015-03-04  1429  		inode_io_list_del_locked(inode, wb);
4f8ad655 Jan Kara       2012-05-03  1430  	spin_unlock(&wb->list_lock);
1c0eeaf5 Joern Engel    2007-10-16  1431  	inode_sync_complete(inode);
4f8ad655 Jan Kara       2012-05-03  1432  out:
4f8ad655 Jan Kara       2012-05-03 @1433  	spin_unlock(&inode->i_lock);
^1da177e Linus Torvalds 2005-04-16  1434  	return ret;
^1da177e Linus Torvalds 2005-04-16  1435  }
^1da177e Linus Torvalds 2005-04-16  1436  
a88a341a Tejun Heo      2015-05-22  1437  static long writeback_chunk_size(struct bdi_writeback *wb,
1a12d8bd Wu Fengguang   2010-08-29  1438  				 struct wb_writeback_work *work)
d46db3d5 Wu Fengguang   2011-05-04  1439  {
d46db3d5 Wu Fengguang   2011-05-04  1440  	long pages;
d46db3d5 Wu Fengguang   2011-05-04  1441  

:::::: The code at line 1433 was first introduced by commit
:::::: 4f8ad655dbc82cf05d2edc11e66b78a42d38bf93 writeback: Refactor writeback_single_inode()

:::::: TO: Jan Kara <jack@...e.cz>
:::::: CC: Fengguang Wu <fengguang.wu@...el.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ