syzbot


WARNING: bad unlock balance in dentry_unlink_inode

Status: auto-obsoleted due to no activity on 2023/09/05 20:54
Subsystems: fs
[Documentation on labels]
Reported-by: syzbot+460ec481bf10dbc2a570@syzkaller.appspotmail.com
First crash: 366d, last: 321d

Sample crash report:
=====================================
WARNING: bad unlock balance detected!
6.4.0-rc5-syzkaller-00017-ga27648c74210 #0 Not tainted
-------------------------------------
kswapd0/111 is trying to release lock (&sb->s_type->i_lock_key) at:
[<ffffffff81ec436e>] spin_unlock include/linux/spinlock.h:390 [inline]
[<ffffffff81ec436e>] dentry_unlink_inode+0x1ee/0x460 fs/dcache.c:395
but there are no more locks to release!

other info that might help us debug this:
3 locks held by kswapd0/111:
 #0: ffffffff8c8f0080 (fs_reclaim){+.+.}-{0:0}, at: set_task_reclaim_state mm/vmscan.c:528 [inline]
 #0: ffffffff8c8f0080 (fs_reclaim){+.+.}-{0:0}, at: balance_pgdat+0x170/0x1ac0 mm/vmscan.c:7364
 #1: ffffffff8c8a3a70 (shrinker_srcu){.+.+}-{0:0}, at: mem_cgroup_is_root include/linux/memcontrol.h:565 [inline]
 #1: ffffffff8c8a3a70 (shrinker_srcu){.+.+}-{0:0}, at: set_shrinker_bit mm/vmscan.c:353 [inline]
 #1: ffffffff8c8a3a70 (shrinker_srcu){.+.+}-{0:0}, at: shrink_slab_memcg mm/vmscan.c:1005 [inline]
 #1: ffffffff8c8a3a70 (shrinker_srcu){.+.+}-{0:0}, at: shrink_slab+0x36c/0x8a0 mm/vmscan.c:1062
 #2: ffff88801aace0e0 (&type->s_umount_key#51){++++}-{3:3}, at: trylock_super fs/super.c:414 [inline]
 #2: ffff88801aace0e0 (&type->s_umount_key#51){++++}-{3:3}, at: super_cache_scan+0x70/0x590 fs/super.c:79

stack backtrace:
CPU: 3 PID: 111 Comm: kswapd0 Not tainted 6.4.0-rc5-syzkaller-00017-ga27648c74210 #0
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.14.0-2 04/01/2014
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0xd9/0x150 lib/dump_stack.c:106
 __lock_release kernel/locking/lockdep.c:5382 [inline]
 lock_release+0x4f1/0x670 kernel/locking/lockdep.c:5725
 __raw_spin_unlock include/linux/spinlock_api_smp.h:141 [inline]
 _raw_spin_unlock+0x16/0x40 kernel/locking/spinlock.c:186
 spin_unlock include/linux/spinlock.h:390 [inline]
 dentry_unlink_inode+0x1ee/0x460 fs/dcache.c:395
 __dentry_kill+0x3c0/0x640 fs/dcache.c:607
 shrink_dentry_list+0x12c/0x4f0 fs/dcache.c:1201
 prune_dcache_sb+0xeb/0x150 fs/dcache.c:1282
 super_cache_scan+0x33a/0x590 fs/super.c:104
 do_shrink_slab+0x428/0xaa0 mm/vmscan.c:912
 shrink_slab_memcg mm/vmscan.c:982 [inline]
 shrink_slab+0x4aa/0x8a0 mm/vmscan.c:1062
 shrink_one+0x4f9/0x710 mm/vmscan.c:5380
 shrink_many mm/vmscan.c:5430 [inline]
 lru_gen_shrink_node mm/vmscan.c:5547 [inline]
 shrink_node+0x1fd5/0x3500 mm/vmscan.c:6488
 kswapd_shrink_node mm/vmscan.c:7288 [inline]
 balance_pgdat+0xa02/0x1ac0 mm/vmscan.c:7478
 kswapd+0x677/0xd60 mm/vmscan.c:7738
 kthread+0x344/0x440 kernel/kthread.c:379
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:308
 </TASK>
------------[ cut here ]------------
pvqspinlock: lock 0xffff888074fbd7b0 has corrupted value 0x0!
WARNING: CPU: 3 PID: 111 at kernel/locking/qspinlock_paravirt.h:498 __pv_queued_spin_unlock_slowpath+0x231/0x320 kernel/locking/qspinlock_paravirt.h:498
Modules linked in:
CPU: 3 PID: 111 Comm: kswapd0 Not tainted 6.4.0-rc5-syzkaller-00017-ga27648c74210 #0
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.14.0-2 04/01/2014
RIP: 0010:__pv_queued_spin_unlock_slowpath+0x231/0x320 kernel/locking/qspinlock_paravirt.h:498
Code: ea 03 0f b6 14 02 4c 89 e8 83 e0 07 83 c0 03 38 d0 7c 04 84 d2 75 62 41 8b 55 00 4c 89 ee 48 c7 c7 a0 ca 4c 8a e8 ef 7a 38 f7 <0f> 0b e9 6c ff ff ff 0f 0b 48 89 df 4c 89 04 24 e8 fa 87 c3 f7 4c
RSP: 0018:ffffc90000e6f540 EFLAGS: 00010282
RAX: 0000000000000000 RBX: ffff888074fbd910 RCX: 0000000000000000
RDX: ffff88801692c800 RSI: ffffffff814c03a7 RDI: 0000000000000001
RBP: ffff888074fbd7b0 R08: 0000000000000001 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000094001 R12: ffff888074fbd7b8
R13: ffff888074fbd7b0 R14: 0000000000000000 R15: 0000000000000000
FS:  0000000000000000(0000) GS:ffff88802c900000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000000005701ef1c CR3: 0000000069b35000 CR4: 0000000000350ee0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 __raw_callee_save___pv_queued_spin_unlock_slowpath+0x15/0x30
 .slowpath+0x9/0x1a
 pv_queued_spin_unlock arch/x86/include/asm/paravirt.h:591 [inline]
 queued_spin_unlock arch/x86/include/asm/qspinlock.h:57 [inline]
 do_raw_spin_unlock+0x175/0x230 kernel/locking/spinlock_debug.c:141
 __raw_spin_unlock include/linux/spinlock_api_smp.h:142 [inline]
 _raw_spin_unlock+0x1e/0x40 kernel/locking/spinlock.c:186
 spin_unlock include/linux/spinlock.h:390 [inline]
 dentry_unlink_inode+0x1ee/0x460 fs/dcache.c:395
 __dentry_kill+0x3c0/0x640 fs/dcache.c:607
 shrink_dentry_list+0x12c/0x4f0 fs/dcache.c:1201
 prune_dcache_sb+0xeb/0x150 fs/dcache.c:1282
 super_cache_scan+0x33a/0x590 fs/super.c:104
 do_shrink_slab+0x428/0xaa0 mm/vmscan.c:912
 shrink_slab_memcg mm/vmscan.c:982 [inline]
 shrink_slab+0x4aa/0x8a0 mm/vmscan.c:1062
 shrink_one+0x4f9/0x710 mm/vmscan.c:5380
 shrink_many mm/vmscan.c:5430 [inline]
 lru_gen_shrink_node mm/vmscan.c:5547 [inline]
 shrink_node+0x1fd5/0x3500 mm/vmscan.c:6488
 kswapd_shrink_node mm/vmscan.c:7288 [inline]
 balance_pgdat+0xa02/0x1ac0 mm/vmscan.c:7478
 kswapd+0x677/0xd60 mm/vmscan.c:7738
 kthread+0x344/0x440 kernel/kthread.c:379
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:308
 </TASK>

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2023/06/07 20:54 upstream a27648c74210 6b9fb3c4 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 WARNING: bad unlock balance in dentry_unlink_inode
2023/04/23 13:05 upstream 622322f53c6d 2b32bd34 .config console log report info ci-qemu-upstream-386 WARNING: bad unlock balance in dentry_unlink_inode
* Struck through repros no longer work on HEAD.