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: 677d, last: 672d
▶
▼
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 |
▶
▼
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
* Struck through repros no longer work on HEAD.