===================================== WARNING: bad unlock balance detected! 6.3.0-rc1-syzkaller-gfe15c26ee26e #0 Not tainted ------------------------------------- syz-executor.5/6935 is trying to release lock (&type->i_mutex_dir_key) at: [] inode_unlock include/linux/fs.h:763 [inline] [] ext4_rename fs/ext4/namei.c:4017 [inline] [] ext4_rename2+0x2c2c/0x3264 fs/ext4/namei.c:4193 but there are no more locks to release! other info that might help us debug this: 2 locks held by syz-executor.5/6935: #0: ffff0000d67c4460 (sb_writers#3){.+.+}-{0:0}, at: mnt_want_write+0x44/0x9c fs/namespace.c:394 #1: ffff000132cf8400 (&type->i_mutex_dir_key#3/1){+.+.}-{3:3}, at: inode_lock_nested include/linux/fs.h:793 [inline] #1: ffff000132cf8400 (&type->i_mutex_dir_key#3/1){+.+.}-{3:3}, at: lock_rename+0xf0/0x18c fs/namei.c:2991 stack backtrace: CPU: 0 PID: 6935 Comm: syz-executor.5 Not tainted 6.3.0-rc1-syzkaller-gfe15c26ee26e #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/02/2023 Call trace: dump_backtrace+0x1c8/0x1f4 arch/arm64/kernel/stacktrace.c:158 show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:165 __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xd0/0x124 lib/dump_stack.c:106 dump_stack+0x1c/0x28 lib/dump_stack.c:113 print_unlock_imbalance_bug+0x250/0x2a4 kernel/locking/lockdep.c:5109 __lock_release kernel/locking/lockdep.c:5346 [inline] lock_release+0x5c8/0xb90 kernel/locking/lockdep.c:5689 up_write+0x94/0x76c kernel/locking/rwsem.c:1625 inode_unlock include/linux/fs.h:763 [inline] ext4_rename fs/ext4/namei.c:4017 [inline] ext4_rename2+0x2c2c/0x3264 fs/ext4/namei.c:4193 vfs_rename+0x908/0xcd4 fs/namei.c:4772 do_renameat2+0x980/0x1040 fs/namei.c:4923 __do_sys_renameat2 fs/namei.c:4956 [inline] __se_sys_renameat2 fs/namei.c:4953 [inline] __arm64_sys_renameat2+0xe0/0xfc fs/namei.c:4953 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline] invoke_syscall+0x98/0x2c0 arch/arm64/kernel/syscall.c:52 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142 do_el0_svc+0x64/0x198 arch/arm64/kernel/syscall.c:193 el0_svc+0x58/0x168 arch/arm64/kernel/entry-common.c:637 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655 el0t_64_sync+0x190/0x194 arch/arm64/kernel/entry.S:591 ------------[ cut here ]------------ DEBUG_RWSEMS_WARN_ON((rwsem_owner(sem) != current) && !rwsem_test_oflags(sem, RWSEM_NONSPINNABLE)): count = 0x0, magic = 0xffff000132cfbfc0, owner = 0x0, curr 0xffff0000d2828000, list empty WARNING: CPU: 0 PID: 6935 at kernel/locking/rwsem.c:1370 __up_write kernel/locking/rwsem.c:1369 [inline] WARNING: CPU: 0 PID: 6935 at kernel/locking/rwsem.c:1370 up_write+0x530/0x76c kernel/locking/rwsem.c:1626 Modules linked in: CPU: 0 PID: 6935 Comm: syz-executor.5 Not tainted 6.3.0-rc1-syzkaller-gfe15c26ee26e #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/02/2023 pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : __up_write kernel/locking/rwsem.c:1369 [inline] pc : up_write+0x530/0x76c kernel/locking/rwsem.c:1626 lr : __up_write kernel/locking/rwsem.c:1369 [inline] lr : up_write+0x530/0x76c kernel/locking/rwsem.c:1626 sp : ffff80001e2f7420 x29: ffff80001e2f74a0 x28: ffff700003c5eeb8 x27: 1fffe0002659f805 x26: dfff800000000000 x25: 1fffe0002659f7f9 x24: ffff000132cfc018 x23: 0000000000000000 x22: 0000000000000000 x21: ffff0000d2828000 x20: ffff000132cfbfc0 x19: ffff000132cfbfc0 x18: ffff80001e2f71e0 x17: 0000000000000000 x16: ffff80001246250c x15: 0000000000000000 x14: 0000000000000002 x13: 0000000000000001 x12: 0000000000040000 x11: 000000000001603f x10: ffff80002589a000 x9 : c319978060686f00 x8 : c319978060686f00 x7 : 0000000000000001 x6 : 0000000000000001 x5 : ffff80001e2f6d18 x4 : ffff800015dc52c0 x3 : ffff80000859c514 x2 : 0000000000000001 x1 : 0000000100000000 x0 : 0000000000000000 Call trace: __up_write kernel/locking/rwsem.c:1369 [inline] up_write+0x530/0x76c kernel/locking/rwsem.c:1626 inode_unlock include/linux/fs.h:763 [inline] ext4_rename fs/ext4/namei.c:4017 [inline] ext4_rename2+0x2c2c/0x3264 fs/ext4/namei.c:4193 vfs_rename+0x908/0xcd4 fs/namei.c:4772 do_renameat2+0x980/0x1040 fs/namei.c:4923 __do_sys_renameat2 fs/namei.c:4956 [inline] __se_sys_renameat2 fs/namei.c:4953 [inline] __arm64_sys_renameat2+0xe0/0xfc fs/namei.c:4953 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline] invoke_syscall+0x98/0x2c0 arch/arm64/kernel/syscall.c:52 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142 do_el0_svc+0x64/0x198 arch/arm64/kernel/syscall.c:193 el0_svc+0x58/0x168 arch/arm64/kernel/entry-common.c:637 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655 el0t_64_sync+0x190/0x194 arch/arm64/kernel/entry.S:591 irq event stamp: 4775 hardirqs last enabled at (4775): [] lookup_bh_lru fs/buffer.c:1334 [inline] hardirqs last enabled at (4775): [] __find_get_block+0x1a0/0xe8c fs/buffer.c:1346 hardirqs last disabled at (4774): [] lookup_bh_lru fs/buffer.c:1315 [inline] hardirqs last disabled at (4774): [] __find_get_block+0x68/0xe8c fs/buffer.c:1346 softirqs last enabled at (4622): [] local_bh_enable+0x10/0x34 include/linux/bottom_half.h:32 softirqs last disabled at (4620): [] local_bh_disable+0x10/0x34 include/linux/bottom_half.h:19 ---[ end trace 0000000000000000 ]---