[Cluster-devel] [gfs2:for-next.bob6b 5/12] arch/mips/include/asm/bitops.h:129:17: sparse: sparse: context imbalance in 'gfs2_remove_from_journal' - different lock contexts for basic block

kernel test robot lkp at intel.com
Sat Aug 1 18:18:05 UTC 2020


tree:   https://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git for-next.bob6b
head:   8aef3eb9d3f560027f23e9690d0eca9427ba520d
commit: 338462527fad3a08cda656c2cc2f44d9ae319e42 [5/12] gfs2: Wipe jdata and ail1 in gfs2_journal_wipe, formerly gfs2_meta_wipe
config: mips-randconfig-s031-20200801 (attached as .config)
compiler: mipsel-linux-gcc (GCC) 9.3.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.2-115-g5fc204f2-dirty
        git checkout 338462527fad3a08cda656c2cc2f44d9ae319e42
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=mips 

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


sparse warnings: (new ones prefixed by >>)

   fs/gfs2/meta_io.c: note: in included file (through include/linux/bitops.h, include/linux/kernel.h, include/asm-generic/bug.h, ...):
>> arch/mips/include/asm/bitops.h:129:17: sparse: sparse: context imbalance in 'gfs2_remove_from_journal' - different lock contexts for basic block

vim +/gfs2_remove_from_journal +129 arch/mips/include/asm/bitops.h

^1da177e4c3f415 include/asm-mips/bitops.h      Linus Torvalds 2005-04-16  107  
^1da177e4c3f415 include/asm-mips/bitops.h      Linus Torvalds 2005-04-16  108  /*
^1da177e4c3f415 include/asm-mips/bitops.h      Linus Torvalds 2005-04-16  109   * clear_bit - Clears a bit in memory
^1da177e4c3f415 include/asm-mips/bitops.h      Linus Torvalds 2005-04-16  110   * @nr: Bit to clear
^1da177e4c3f415 include/asm-mips/bitops.h      Linus Torvalds 2005-04-16  111   * @addr: Address to start counting from
^1da177e4c3f415 include/asm-mips/bitops.h      Linus Torvalds 2005-04-16  112   *
^1da177e4c3f415 include/asm-mips/bitops.h      Linus Torvalds 2005-04-16  113   * clear_bit() is atomic and may not be reordered.  However, it does
^1da177e4c3f415 include/asm-mips/bitops.h      Linus Torvalds 2005-04-16  114   * not contain a memory barrier, so if it is used for locking purposes,
91bbefe6b0fcd29 arch/mips/include/asm/bitops.h Peter Zijlstra 2014-03-13  115   * you should call smp_mb__before_atomic() and/or smp_mb__after_atomic()
^1da177e4c3f415 include/asm-mips/bitops.h      Linus Torvalds 2005-04-16  116   * in order to ensure changes are visible on other processors.
^1da177e4c3f415 include/asm-mips/bitops.h      Linus Torvalds 2005-04-16  117   */
^1da177e4c3f415 include/asm-mips/bitops.h      Linus Torvalds 2005-04-16  118  static inline void clear_bit(unsigned long nr, volatile unsigned long *addr)
^1da177e4c3f415 include/asm-mips/bitops.h      Linus Torvalds 2005-04-16  119  {
c042be02d730534 arch/mips/include/asm/bitops.h Paul Burton    2019-10-01  120  	volatile unsigned long *m = &addr[BIT_WORD(nr)];
c042be02d730534 arch/mips/include/asm/bitops.h Paul Burton    2019-10-01  121  	int bit = nr % BITS_PER_LONG;
^1da177e4c3f415 include/asm-mips/bitops.h      Linus Torvalds 2005-04-16  122  
fe7cd97e68fac18 arch/mips/include/asm/bitops.h Paul Burton    2019-10-01  123  	if (!kernel_uses_llsc) {
fe7cd97e68fac18 arch/mips/include/asm/bitops.h Paul Burton    2019-10-01  124  		__mips_clear_bit(nr, addr);
fe7cd97e68fac18 arch/mips/include/asm/bitops.h Paul Burton    2019-10-01  125  		return;
fe7cd97e68fac18 arch/mips/include/asm/bitops.h Paul Burton    2019-10-01  126  	}
fe7cd97e68fac18 arch/mips/include/asm/bitops.h Paul Burton    2019-10-01  127  
59361e9975fd567 arch/mips/include/asm/bitops.h Paul Burton    2019-10-01  128  	if ((MIPS_ISA_REV >= 2) && __builtin_constant_p(bit)) {
cc99987c375e499 arch/mips/include/asm/bitops.h Paul Burton    2019-10-01 @129  		__bit_op(*m, __INS "%0, $0, %2, 1", "i"(bit));
fe7cd97e68fac18 arch/mips/include/asm/bitops.h Paul Burton    2019-10-01  130  		return;
fe7cd97e68fac18 arch/mips/include/asm/bitops.h Paul Burton    2019-10-01  131  	}
fe7cd97e68fac18 arch/mips/include/asm/bitops.h Paul Burton    2019-10-01  132  
cc99987c375e499 arch/mips/include/asm/bitops.h Paul Burton    2019-10-01  133  	__bit_op(*m, "and\t%0, %2", "ir"(~BIT(bit)));
^1da177e4c3f415 include/asm-mips/bitops.h      Linus Torvalds 2005-04-16  134  }
^1da177e4c3f415 include/asm-mips/bitops.h      Linus Torvalds 2005-04-16  135  

:::::: The code at line 129 was first introduced by commit
:::::: cc99987c375e499a95572504d69c215591222072 MIPS: bitops: Abstract LL/SC loops

:::::: TO: Paul Burton <paul.burton at mips.com>
:::::: CC: Paul Burton <paul.burton at mips.com>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 26603 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/cluster-devel/attachments/20200802/e051ca45/attachment.gz>


More information about the Cluster-devel mailing list