tree:
https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git locking/wip
head: a76254f60dc69826643c45a19418b3e4c67d68f4
commit: 8e0c3933252fff31aaf97b37f660b1a3107debd2 [6/7] lockdep: Only trace IRQ edges
config: i386-randconfig-s002-20200819 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-183-gaa6ede3b-dirty
git checkout 8e0c3933252fff31aaf97b37f660b1a3107debd2
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
kernel/locking/spinlock.c:149:17: sparse: sparse: context imbalance in
'_raw_spin_lock' - wrong count at exit
kernel/locking/spinlock.c: note: in included file (through include/linux/preempt.h):
> arch/x86/include/asm/preempt.h:79:9: sparse: sparse: context
imbalance in '_raw_spin_lock_irqsave' - wrong count at exit
> arch/x86/include/asm/preempt.h:79:9: sparse: sparse: context imbalance in
'_raw_spin_lock_irq' - wrong count at exit
kernel/locking/spinlock.c:173:17: sparse: sparse: context imbalance in
'_raw_spin_lock_bh' - wrong count at exit
kernel/locking/spinlock.c:181:17: sparse: sparse: context imbalance in
'_raw_spin_unlock' - unexpected unlock
kernel/locking/spinlock.c:189:17: sparse: sparse: context imbalance in
'_raw_spin_unlock_irqrestore' - unexpected unlock
kernel/locking/spinlock.c:197:17: sparse: sparse: context imbalance in
'_raw_spin_unlock_irq' - unexpected unlock
kernel/locking/spinlock.c:205:17: sparse: sparse: context imbalance in
'_raw_spin_unlock_bh' - unexpected unlock
kernel/locking/spinlock.c:221:17: sparse: sparse: context imbalance in
'_raw_read_lock' - wrong count at exit
> arch/x86/include/asm/preempt.h:79:9: sparse: sparse: context
imbalance in '_raw_read_lock_irqsave' - wrong count at exit
> arch/x86/include/asm/preempt.h:79:9: sparse: sparse: context imbalance in
'_raw_read_lock_irq' - wrong count at exit
kernel/locking/spinlock.c:245:17: sparse: sparse: context imbalance in
'_raw_read_lock_bh' - wrong count at exit
kernel/locking/spinlock.c:253:17: sparse: sparse: context imbalance in
'_raw_read_unlock' - unexpected unlock
kernel/locking/spinlock.c:261:17: sparse: sparse: context imbalance in
'_raw_read_unlock_irqrestore' - unexpected unlock
kernel/locking/spinlock.c:269:17: sparse: sparse: context imbalance in
'_raw_read_unlock_irq' - unexpected unlock
kernel/locking/spinlock.c:277:17: sparse: sparse: context imbalance in
'_raw_read_unlock_bh' - unexpected unlock
kernel/locking/spinlock.c:293:17: sparse: sparse: context imbalance in
'_raw_write_lock' - wrong count at exit
> arch/x86/include/asm/preempt.h:79:9: sparse: sparse: context
imbalance in '_raw_write_lock_irqsave' - wrong count at exit
> arch/x86/include/asm/preempt.h:79:9: sparse: sparse: context imbalance in
'_raw_write_lock_irq' - wrong count at exit
kernel/locking/spinlock.c:317:17: sparse: sparse: context imbalance in
'_raw_write_lock_bh' - wrong count at exit
kernel/locking/spinlock.c:325:17: sparse: sparse: context imbalance in
'_raw_write_unlock' - unexpected unlock
kernel/locking/spinlock.c:333:17: sparse: sparse: context imbalance in
'_raw_write_unlock_irqrestore' - unexpected unlock
kernel/locking/spinlock.c:341:17: sparse: sparse: context imbalance in
'_raw_write_unlock_irq' - unexpected unlock
kernel/locking/spinlock.c:349:17: sparse: sparse: context imbalance in
'_raw_write_unlock_bh' - unexpected unlock
kernel/locking/spinlock.c:358:17: sparse: sparse: context imbalance in
'_raw_spin_lock_nested' - wrong count at exit
> arch/x86/include/asm/preempt.h:79:9: sparse: sparse: context
imbalance in '_raw_spin_lock_irqsave_nested' - wrong count at exit
kernel/locking/spinlock.c:380:17: sparse: sparse: context imbalance in
'_raw_spin_lock_nest_lock' - wrong count at exit
--
kernel/trace/ring_buffer.c:923:32: sparse: sparse: incorrect type in return expression
(different base types) @@ expected restricted __poll_t @@ got int @@
kernel/trace/ring_buffer.c:923:32: sparse: expected restricted __poll_t
kernel/trace/ring_buffer.c:923:32: sparse: got int
kernel/trace/ring_buffer.c: note: in included file (through include/linux/irqflags.h,
arch/x86/include/asm/special_insns.h, arch/x86/include/asm/processor.h, ...):
> arch/x86/include/asm/irqflags.h:162:28: sparse: sparse: context
imbalance in 'ring_buffer_peek' - different lock contexts for basic block
> arch/x86/include/asm/irqflags.h:162:28: sparse: sparse: context imbalance in
'ring_buffer_consume' - different lock contexts for basic block
> arch/x86/include/asm/irqflags.h:162:28: sparse: sparse: context imbalance in
'ring_buffer_empty' - different lock contexts for basic block
> arch/x86/include/asm/irqflags.h:162:28: sparse: sparse: context imbalance in
'ring_buffer_empty_cpu' - different lock contexts for basic block
#
https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git/commit/?...
git remote add peterz-queue
https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git
git fetch --no-tags peterz-queue locking/wip
git checkout 8e0c3933252fff31aaf97b37f660b1a3107debd2
vim +/_raw_spin_lock_irqsave +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(a)linux.com>
:::::: CC: Linus Torvalds <torvalds(a)linux-foundation.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org