arch/x86/include/asm/preempt.h:79:9: sparse: sparse: context imbalance in 'xfs_iflush_abort' - wrong count at exit

From: kernel test robot
Date: Sat Jun 20 2020 - 07:35:48 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 4333a9b0b67bb4e8bcd91bdd80da80b0ec151162
commit: 4165994ac9672d91134675caa6de3645a9ace6c8 xfs: factor common AIL item deletion code
date: 3 months ago
config: i386-randconfig-s002-20200620 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-rc1-18-g27caae40-dirty
git checkout 4165994ac9672d91134675caa6de3645a9ace6c8
# save the attached .config to linux build tree
make W=1 C=1 ARCH=i386 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

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


sparse warnings: (new ones prefixed by >>)

>> arch/x86/include/asm/preempt.h:79:9: sparse: sparse: context imbalance in 'xfs_iflush_abort' - wrong count at exit

vim +/xfs_iflush_abort +79 arch/x86/include/asm/preempt.h

c2daa3bed53a81 Peter Zijlstra 2013-08-14 72
c2daa3bed53a81 Peter Zijlstra 2013-08-14 73 /*
c2daa3bed53a81 Peter Zijlstra 2013-08-14 74 * The various preempt_count add/sub methods
c2daa3bed53a81 Peter Zijlstra 2013-08-14 75 */
c2daa3bed53a81 Peter Zijlstra 2013-08-14 76
c2daa3bed53a81 Peter Zijlstra 2013-08-14 77 static __always_inline void __preempt_count_add(int val)
c2daa3bed53a81 Peter Zijlstra 2013-08-14 78 {
b3ca1c10d7b32f Christoph Lameter 2014-04-07 @79 raw_cpu_add_4(__preempt_count, val);
c2daa3bed53a81 Peter Zijlstra 2013-08-14 80 }
c2daa3bed53a81 Peter Zijlstra 2013-08-14 81

:::::: The code at line 79 was first introduced by commit
:::::: b3ca1c10d7b32fdfdfaf5484eda486323f52d9be percpu: add raw_cpu_ops

:::::: TO: Christoph Lameter <cl@xxxxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip