syzbot


WARNING: bad unlock balance in ocfs2_inode_cache_io_unlock

Status: upstream: reported C repro on 2024/09/17 02:11
Bug presence: origin:lts-only
[Documentation on labels]
Reported-by: syzbot+04978ef8a2b125297d95@syzkaller.appspotmail.com
First crash: 155d, last: 149d
Bug presence (2)
Date Name Commit Repro Result
2024/09/22 linux-6.1.y (ToT) e526b12bf916 C [report] WARNING: bad unlock balance in ocfs2_inode_cache_io_unlock
2024/09/22 upstream (ToT) 88264981f208 C Didn't crash
Similar bugs (2)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-5.15 WARNING: bad unlock balance in ocfs2_inode_cache_io_unlock origin:upstream C error 14 132d 156d 0/3 auto-obsoleted due to no activity on 2024/12/18 22:59
upstream WARNING: bad unlock balance in ocfs2_inode_cache_io_unlock ocfs2 C 7 139d 151d 0/28 auto-obsoleted due to no activity on 2025/01/10 14:45
Fix bisection attempts (1)
Created Duration User Patch Repo Result
2024/09/27 01:04 2h18m fix candidate upstream OK (0) job log

Sample crash report:
         option from the mount to silence this warning.
=======================================================
(syz-executor171,4294,1):ocfs2_read_blocks:240 ERROR: status = -12
=====================================
WARNING: bad unlock balance detected!
6.1.111-syzkaller #0 Not tainted
-------------------------------------
syz-executor171/4294 is trying to release lock (&oi->ip_io_mutex) at:
[<ffff800009ee6b4c>] ocfs2_inode_cache_io_unlock+0x20/0x30 fs/ocfs2/inode.c:1648
but there are no more locks to release!

other info that might help us debug this:
1 lock held by syz-executor171/4294:
 #0: ffff0000da0760e0 (&type->s_umount_key#39/1){+.+.}-{3:3}, at: alloc_super+0x1b4/0x824 fs/super.c:228

stack backtrace:
CPU: 1 PID: 4294 Comm: syz-executor171 Not tainted 6.1.111-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/2024
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+0x108/0x170 lib/dump_stack.c:106
 dump_stack+0x1c/0x58 lib/dump_stack.c:113
 print_unlock_imbalance_bug+0x250/0x2a4 kernel/locking/lockdep.c:5102
 lock_release+0x4dc/0xa50 kernel/locking/lockdep.c:5682
 __mutex_unlock_slowpath+0xe0/0x6cc kernel/locking/mutex.c:907
 mutex_unlock+0x24/0x30 kernel/locking/mutex.c:543
 ocfs2_inode_cache_io_unlock+0x20/0x30 fs/ocfs2/inode.c:1648
 ocfs2_metadata_cache_io_unlock+0x6c/0x90 fs/ocfs2/uptodate.c:95
 ocfs2_read_blocks+0x11d0/0x17e8 fs/ocfs2/buffer_head_io.c:394
 ocfs2_map_slot_buffers fs/ocfs2/slot_map.c:385 [inline]
 ocfs2_init_slot_info+0x920/0x1300 fs/ocfs2/slot_map.c:424
 ocfs2_initialize_super fs/ocfs2/super.c:2274 [inline]
 ocfs2_fill_super+0x2894/0x4a0c fs/ocfs2/super.c:994
 mount_bdev+0x274/0x370 fs/super.c:1443
 ocfs2_mount+0x44/0x58 fs/ocfs2/super.c:1186
 legacy_get_tree+0xd4/0x16c fs/fs_context.c:632
 vfs_get_tree+0x90/0x274 fs/super.c:1573
 do_new_mount+0x278/0x8fc fs/namespace.c:3051
 path_mount+0x590/0xe5c fs/namespace.c:3381
 do_mount fs/namespace.c:3394 [inline]
 __do_sys_mount fs/namespace.c:3602 [inline]
 __se_sys_mount fs/namespace.c:3579 [inline]
 __arm64_sys_mount+0x45c/0x594 fs/namespace.c:3579
 __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:140
 do_el0_svc+0x64/0x218 arch/arm64/kernel/syscall.c:204
 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+0x18c/0x190 arch/arm64/kernel/entry.S:585
(syz-executor171,4294,1):ocfs2_map_slot_buffers:388 ERROR: status = -12
(syz-executor171,4294,1):ocfs2_init_slot_info:426 ERROR: status = -12
(syz-executor171,4294,1):ocfs2_initialize_super:2276 ERROR: status = -12
(syz-executor171,4294,1):ocfs2_fill_super:1176 ERROR: status = -12

Crashes (7):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/09/22 05:35 linux-6.1.y e526b12bf916 6f888b75 .config console log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-linux-6-1-kasan-arm64 WARNING: bad unlock balance in ocfs2_inode_cache_io_unlock
2024/09/22 12:56 linux-6.1.y e526b12bf916 6f888b75 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 WARNING: bad unlock balance in ocfs2_inode_cache_io_unlock
2024/09/22 12:55 linux-6.1.y e526b12bf916 6f888b75 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 WARNING: bad unlock balance in ocfs2_inode_cache_io_unlock
2024/09/22 05:27 linux-6.1.y e526b12bf916 6f888b75 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 WARNING: bad unlock balance in ocfs2_inode_cache_io_unlock
2024/09/22 05:25 linux-6.1.y e526b12bf916 6f888b75 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 WARNING: bad unlock balance in ocfs2_inode_cache_io_unlock
2024/09/17 02:10 linux-6.1.y 5f55cad62cc9 c673ca06 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 WARNING: bad unlock balance in ocfs2_inode_cache_io_unlock
2024/09/17 02:10 linux-6.1.y 5f55cad62cc9 c673ca06 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 WARNING: bad unlock balance in ocfs2_inode_cache_io_unlock
* Struck through repros no longer work on HEAD.