[vbabka:slub-percpu-sheaves-v1r1] [mm, slub] 000f7cce0f: WARNING:inconsistent_lock_state

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Hello,

kernel test robot noticed "WARNING:inconsistent_lock_state" on:

commit: 000f7cce0fe19452a5ecbc350b16d7d8ac68d8ba ("mm, slub: cheaper locking for percpu sheaves")
https://git.kernel.org/cgit/linux/kernel/git/vbabka/linux.git slub-percpu-sheaves-v1r1

in testcase: boot

compiler: clang-18
test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 16G

(please refer to attached dmesg/kmsg for entire log/backtrace)


+-------------------------------------------------+------------+------------+
|                                                 | aa03930ed5 | 000f7cce0f |
+-------------------------------------------------+------------+------------+
| WARNING:inconsistent_lock_state                 | 0          | 18         |
| inconsistent{SOFTIRQ-ON-W}->{IN-SOFTIRQ-W}usage | 0          | 18         |
| RIP:default_idle                                | 0          | 18         |
+-------------------------------------------------+------------+------------+


If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <oliver.sang@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-lkp/202409031302.dba16910-lkp@xxxxxxxxx


[   28.196191][    C1] WARNING: inconsistent lock state
[   28.196613][    C1] 6.10.0-rc1-00013-g000f7cce0fe1 #1 Not tainted
[   28.197105][    C1] --------------------------------
[   28.197503][    C1] inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage.
[   28.198039][    C1] swapper/1/0 [HC0[0]:SC1[1]:HE1:SE0] takes:
[ 28.198510][ C1] ffffe8ffffd00d60 (&pcs->lock.llock){+.?.}-{2:2}, at: kmem_cache_alloc_noprof (include/linux/local_lock_internal.h:29) 
[   28.199302][    C1] {SOFTIRQ-ON-W} state was registered at:
[ 28.199749][ C1] lock_acquire (kernel/locking/lockdep.c:5754) 
[ 28.200114][ C1] kmem_cache_alloc_noprof (include/linux/local_lock_internal.h:29) 
[ 28.200552][ C1] do_set_mempolicy (mm/mempolicy.c:333) 
[ 28.200941][ C1] numa_policy_init (mm/mempolicy.c:3127) 
[ 28.201328][ C1] start_kernel (init/main.c:1063) 
[ 28.201689][ C1] x86_64_start_reservations (??:?) 
[ 28.202121][ C1] x86_64_start_kernel (arch/x86/kernel/head64.c:437) 
[ 28.202519][ C1] common_startup_64 (arch/x86/kernel/head_64.S:421) 
[   28.202912][    C1] irq event stamp: 38366
[ 28.203242][ C1] hardirqs last enabled at (38366): _raw_spin_unlock_irqrestore (arch/x86/include/asm/irqflags.h:42 arch/x86/include/asm/irqflags.h:77 arch/x86/include/asm/irqflags.h:135 include/linux/spinlock_api_smp.h:151 kernel/locking/spinlock.c:194) 
[ 28.204062][ C1] hardirqs last disabled at (38365): _raw_spin_lock_irqsave (arch/x86/include/asm/preempt.h:79 include/linux/spinlock_api_smp.h:109 kernel/locking/spinlock.c:162) 
[ 28.204877][ C1] softirqs last enabled at (38338): irq_exit_rcu (kernel/softirq.c:651) 
[ 28.205590][ C1] softirqs last disabled at (38345): irq_exit_rcu (kernel/softirq.c:651) 
[   28.206304][    C1]
[   28.206304][    C1] other info that might help us debug this:
[   28.206933][    C1]  Possible unsafe locking scenario:
[   28.206933][    C1]
[   28.207514][    C1]        CPU0
[   28.207770][    C1]        ----
[   28.208027][    C1]   lock(&pcs->lock.llock);
[   28.208384][    C1]   <Interrupt>
[   28.208662][    C1]     lock(&pcs->lock.llock);
[   28.209028][    C1]
[   28.209028][    C1]  *** DEADLOCK ***
[   28.209028][    C1]
[   28.209657][    C1] 1 lock held by swapper/1/0:
[ 28.210020][ C1] #0: ffffffff882dee40 (rcu_read_lock){....}-{1:2}, at: netif_receive_skb_list_internal (include/linux/rcupdate.h:329 include/linux/rcupdate.h:781 net/core/dev.c:5844) 
[   28.210872][    C1]
[   28.210872][    C1] stack backtrace:
[   28.211329][    C1] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 6.10.0-rc1-00013-g000f7cce0fe1 #1
[   28.212019][    C1] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
[   28.212836][    C1] Call Trace:
[   28.213096][    C1]  <IRQ>
[ 28.213321][ C1] dump_stack_lvl (lib/dump_stack.c:116) 
[ 28.213678][ C1] valid_state (kernel/locking/lockdep.c:?) 
[ 28.214029][ C1] mark_lock_irq (kernel/locking/lockdep.c:?) 
[ 28.214383][ C1] ? stack_trace_save (kernel/stacktrace.c:123) 
[ 28.214766][ C1] ? save_trace (kernel/locking/lockdep.c:?) 
[ 28.215113][ C1] ? swiotlb_tbl_map_single (include/linux/spinlock.h:? kernel/dma/swiotlb.c:1116 kernel/dma/swiotlb.c:1267 kernel/dma/swiotlb.c:1402) 
[ 28.215557][ C1] mark_lock (kernel/locking/lockdep.c:4678) 
[ 28.215892][ C1] __lock_acquire (kernel/locking/lockdep.c:?) 
[ 28.216270][ C1] lock_acquire (kernel/locking/lockdep.c:5754) 
[ 28.216634][ C1] ? kmem_cache_alloc_noprof (include/linux/local_lock_internal.h:29) 
[ 28.217115][ C1] ? kmem_cache_alloc_noprof (include/linux/local_lock_internal.h:29) 
[ 28.217546][ C1] kmem_cache_alloc_noprof (include/linux/local_lock_internal.h:29) 
[ 28.217967][ C1] ? kmem_cache_alloc_noprof (include/linux/local_lock_internal.h:29) 
[ 28.218401][ C1] ? skb_clone (net/core/skbuff.c:2053) 
[ 28.218751][ C1] skb_clone (net/core/skbuff.c:2053) 
[ 28.219085][ C1] ic_bootp_recv (include/linux/skbuff.h:2036) 
[ 28.219442][ C1] ? lock_is_held_type (kernel/locking/lockdep.c:5495 kernel/locking/lockdep.c:5825) 
[ 28.219837][ C1] ? ic_bootp_send_if (net/ipv4/ipconfig.c:990) 
[ 28.220230][ C1] __netif_receive_skb_core (net/core/dev.c:? net/core/dev.c:5575) 
[ 28.220715][ C1] __netif_receive_skb_list_core (net/core/dev.c:5701) 
[ 28.221187][ C1] netif_receive_skb_list_internal (net/core/dev.c:5769) 
[ 28.221668][ C1] ? netif_receive_skb_list_internal (include/linux/rcupdate.h:329 include/linux/rcupdate.h:781 net/core/dev.c:5844) 
[ 28.222163][ C1] napi_complete_done (include/linux/list.h:37 include/net/gro.h:516 net/core/dev.c:6202) 
[ 28.222556][ C1] ? e1000_alloc_jumbo_rx_buffers (drivers/net/ethernet/intel/e1000/e1000_main.c:4348) 
[ 28.223031][ C1] e1000_clean (drivers/net/ethernet/intel/e1000/e1000_main.c:3809) 
[ 28.223388][ C1] ? mark_lock (arch/x86/include/asm/bitops.h:227 arch/x86/include/asm/bitops.h:239 include/asm-generic/bitops/instrumented-non-atomic.h:142 kernel/locking/lockdep.c:228 kernel/locking/lockdep.c:4656) 
[ 28.223728][ C1] ? __lock_acquire (kernel/locking/lockdep.c:?) 
[ 28.224122][ C1] __napi_poll (net/core/dev.c:6721) 
[ 28.224472][ C1] net_rx_action (net/core/dev.c:6790 net/core/dev.c:6906) 
[ 28.224836][ C1] handle_softirqs (arch/x86/include/asm/jump_label.h:27 include/linux/jump_label.h:207 include/trace/events/irq.h:142 kernel/softirq.c:555) 
[ 28.225210][ C1] ? irq_exit_rcu (kernel/softirq.c:651) 
[ 28.225567][ C1] irq_exit_rcu (kernel/softirq.c:651) 
[ 28.225910][ C1] common_interrupt (arch/x86/kernel/irq.c:278) 
[   28.226283][    C1]  </IRQ>
[   28.226515][    C1]  <TASK>
[ 28.226745][ C1] asm_common_interrupt (arch/x86/include/asm/idtentry.h:693) 
[ 28.227143][ C1] RIP: 0010:default_idle (arch/x86/include/asm/irqflags.h:37 arch/x86/include/asm/irqflags.h:72 arch/x86/kernel/process.c:743) 
[ 28.227549][ C1] Code: 89 07 49 c7 c0 08 00 00 00 4d 29 c8 4c 01 c7 4c 29 c2 e9 72 ff ff ff f3 0f 1e fa eb 07 0f 00 2d 13 70 31 00 f3 0f 1e fa fb f4 <fa> c3 cc cc cc cc cc 66 0f 1f 44 00 00 f3 0f 1e fa e9 d7 ff ff ff
All code
========
   0:	89 07                	mov    %eax,(%rdi)
   2:	49 c7 c0 08 00 00 00 	mov    $0x8,%r8
   9:	4d 29 c8             	sub    %r9,%r8
   c:	4c 01 c7             	add    %r8,%rdi
   f:	4c 29 c2             	sub    %r8,%rdx
  12:	e9 72 ff ff ff       	jmp    0xffffffffffffff89
  17:	f3 0f 1e fa          	endbr64
  1b:	eb 07                	jmp    0x24
  1d:	0f 00 2d 13 70 31 00 	verw   0x317013(%rip)        # 0x317037
  24:	f3 0f 1e fa          	endbr64
  28:	fb                   	sti
  29:	f4                   	hlt
  2a:*	fa                   	cli		<-- trapping instruction
  2b:	c3                   	ret
  2c:	cc                   	int3
  2d:	cc                   	int3
  2e:	cc                   	int3
  2f:	cc                   	int3
  30:	cc                   	int3
  31:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
  37:	f3 0f 1e fa          	endbr64
  3b:	e9 d7 ff ff ff       	jmp    0x17

Code starting with the faulting instruction
===========================================
   0:	fa                   	cli
   1:	c3                   	ret
   2:	cc                   	int3
   3:	cc                   	int3
   4:	cc                   	int3
   5:	cc                   	int3
   6:	cc                   	int3
   7:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
   d:	f3 0f 1e fa          	endbr64
  11:	e9 d7 ff ff ff       	jmp    0xffffffffffffffed


The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20240903/202409031302.dba16910-lkp@xxxxxxxxx



-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux