syzbot


inconsistent lock state in valid_state

Status: auto-obsoleted due to no activity on 2023/06/23 05:39
Subsystems: kernel
[Documentation on labels]
Reported-by: syzbot+3d15e7679037c3d35479@syzkaller.appspotmail.com
First crash: 421d, last: 421d
Discussions (1)
Title Replies (including bot) Last reply
[syzbot] [kernel?] inconsistent lock state in valid_state 0 (1) 2023/02/27 05:45
Similar bugs (5)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-5.15 inconsistent lock state in valid_state (2) C 52 20h15m 37d 0/3 upstream: reported C repro on 2024/03/13 18:08
linux-5.15 inconsistent lock state in valid_state 2 310d 389d 0/3 auto-obsoleted due to no activity on 2023/09/22 20:18
linux-6.1 inconsistent lock state in valid_state (2) origin:upstream missing-backport C done 166 1d14h 209d 0/3 upstream: reported C repro on 2023/09/22 23:56
upstream inconsistent lock state in valid_state (2) sound C inconclusive 56110 46m 72d 0/26 upstream: reported C repro on 2024/02/07 00:07
linux-6.1 inconsistent lock state in valid_state 1 390d 390d 0/3 auto-obsoleted due to no activity on 2023/07/24 01:34

Sample crash report:
================================
WARNING: inconsistent lock state
6.2.0-syzkaller-06742-g307e14c03906 #0 Not tainted
--------------------------------
inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage.
syz-executor.1/27002 [HC0[0]:SC0[0]:HE1:SE1] takes:
ffffffff81fa11b1 (&obj_hash[i].lock){?.-.}-{2:2}, at: 0xee13a8ffb5cd3747
{IN-HARDIRQ-W} state was registered at:
  lock_acquire+0x23e/0x630 kernel/locking/lockdep.c:5669
  __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
  _raw_spin_lock_irqsave+0xd5/0x120 kernel/locking/spinlock.c:162
  debug_object_assert_init+0x6e/0x240 lib/debugobjects.c:881
  debug_timer_assert_init kernel/time/timer.c:792 [inline]
  debug_assert_init kernel/time/timer.c:837 [inline]
  add_timer_on+0xbd/0x5a0 kernel/time/timer.c:1262
  handle_irq_event_percpu kernel/irq/handle.c:195 [inline]
  handle_irq_event+0xad/0x1f0 kernel/irq/handle.c:210
  handle_level_irq+0x3af/0x6d0 kernel/irq/chip.c:650
  generic_handle_irq_desc include/linux/irqdesc.h:158 [inline]
  handle_irq arch/x86/kernel/irq.c:231 [inline]
  __common_interrupt+0xdb/0x1f0 arch/x86/kernel/irq.c:250
  common_interrupt+0xa3/0xc0 arch/x86/kernel/irq.c:240
  asm_common_interrupt+0x26/0x40 arch/x86/include/asm/idtentry.h:640
  __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:152 [inline]
  _raw_spin_unlock_irqrestore+0xd8/0x140 kernel/locking/spinlock.c:194
  __setup_irq+0x12fa/0x1d90 kernel/irq/manage.c:1812
  request_threaded_irq+0x2ab/0x380 kernel/irq/manage.c:2201
  request_irq include/linux/interrupt.h:168 [inline]
  setup_default_timer_irq+0x1f/0x30 arch/x86/kernel/time.c:70
  x86_late_time_init+0x55/0xa0 arch/x86/kernel/time.c:94
  start_kernel+0x3f8/0x530 init/main.c:1112
  secondary_startup_64_no_verify+0xcf/0xdb
irq event stamp: 12225
hardirqs last  enabled at (12225): [<ffffffff8161ddd3>] raw_spin_rq_unlock_irq kernel/sched/sched.h:1378 [inline]
hardirqs last  enabled at (12225): [<ffffffff8161ddd3>] finish_lock_switch+0x93/0x110 kernel/sched/core.c:5062
hardirqs last disabled at (12224): [<ffffffff8ab9b69e>] __schedule+0x32e/0x4990 kernel/sched/core.c:6521
softirqs last  enabled at (10910): [<ffffffff8154fe59>] invoke_softirq kernel/softirq.c:445 [inline]
softirqs last  enabled at (10910): [<ffffffff8154fe59>] __irq_exit_rcu+0x159/0x240 kernel/softirq.c:650
softirqs last disabled at (10813): [<ffffffff8154fe59>] invoke_softirq kernel/softirq.c:445 [inline]
softirqs last disabled at (10813): [<ffffffff8154fe59>] __irq_exit_rcu+0x159/0x240 kernel/softirq.c:650

other info that might help us debug this:
 Possible unsafe locking scenario:

       CPU0
       ----
  lock(&obj_hash[i].lock);
  <Interrupt>
    lock(&obj_hash[i].lock);

 *** DEADLOCK ***

1 lock held by syz-executor.1/27002:
 #0: ffff8880765fc0e0 (&type->s_umount_key#61/1){+.+.}-{3:3}, at: alloc_super+0x217/0x930 fs/super.c:228

stack backtrace:
CPU: 0 PID: 27002 Comm: syz-executor.1 Not tainted 6.2.0-syzkaller-06742-g307e14c03906 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/21/2023
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x1e7/0x2d0 lib/dump_stack.c:106
 valid_state+0x136/0x1c0 kernel/locking/lockdep.c:3976
 mark_lock_irq+0xac/0xbb0 kernel/locking/lockdep.c:4179
 mark_lock+0x21c/0x340 kernel/locking/lockdep.c:4635
 mark_usage kernel/locking/lockdep.c:4544 [inline]
 __lock_acquire+0xc0d/0x1f80 kernel/locking/lockdep.c:5010
 lock_acquire+0x23e/0x630 kernel/locking/lockdep.c:5669
 __raw_spin_lock include/linux/spinlock_api_smp.h:133 [inline]
 _raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:154
 spin_lock include/linux/spinlock.h:350 [inline]
 inode_sb_list_del fs/inode.c:503 [inline]
 evict+0x161/0x620 fs/inode.c:654
 ntfs_fill_super+0x3ffc/0x47f0 fs/ntfs3/super.c:1239
 get_tree_bdev+0x402/0x620 fs/super.c:1294
 vfs_get_tree+0x8c/0x270 fs/super.c:1501
 do_new_mount+0x28f/0xae0 fs/namespace.c:3031
 do_mount fs/namespace.c:3374 [inline]
 __do_sys_mount fs/namespace.c:3583 [inline]
 __se_sys_mount+0x2d9/0x3c0 fs/namespace.c:3560
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x41/0xc0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x63/0xcd
RIP: 0033:0x7f9a3188d62a
Code: 48 c7 c2 b8 ff ff ff f7 d8 64 89 02 b8 ff ff ff ff eb d2 e8 b8 04 00 00 0f 1f 84 00 00 00 00 00 49 89 ca b8 a5 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f9a325d3f88 EFLAGS: 00000202 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 000000000001f7f7 RCX: 00007f9a3188d62a
RDX: 000000002001f800 RSI: 000000002001f840 RDI: 00007f9a325d3fe0
RBP: 00007f9a325d4020 R08: 00007f9a325d4020 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000202 R12: 000000002001f800
R13: 000000002001f840 R14: 00007f9a325d3fe0 R15: 000000002001f880
 </TASK>

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2023/02/23 05:39 upstream 307e14c03906 9f1e2cb3 .config console log report info ci2-upstream-fs inconsistent lock state in valid_state
* Struck through repros no longer work on HEAD.