syzbot |
sign-in | mailing list | source | docs |
======================================================
WARNING: possible circular locking dependency detected
syzkaller #0 Not tainted
------------------------------------------------------
syz.3.54/4687 is trying to acquire lock:
ffff88801ebf4898 (&new->rf_sem){+.+.}-{3:3}, at: __ocfs2_lock_refcount_tree fs/ocfs2/refcounttree.c:428 [inline]
ffff88801ebf4898 (&new->rf_sem){+.+.}-{3:3}, at: ocfs2_lock_refcount_tree+0x1aa/0x9d0 fs/ocfs2/refcounttree.c:463
but task is already holding lock:
ffff8880705ba648 (&ocfs2_sysfile_lock_key[args->fi_sysfile_type]){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:758 [inline]
ffff8880705ba648 (&ocfs2_sysfile_lock_key[args->fi_sysfile_type]){+.+.}-{3:3}, at: ocfs2_wipe_inode fs/ocfs2/inode.c:776 [inline]
ffff8880705ba648 (&ocfs2_sysfile_lock_key[args->fi_sysfile_type]){+.+.}-{3:3}, at: ocfs2_delete_inode fs/ocfs2/inode.c:1079 [inline]
ffff8880705ba648 (&ocfs2_sysfile_lock_key[args->fi_sysfile_type]){+.+.}-{3:3}, at: ocfs2_evict_inode+0x2e6e/0x45e0 fs/ocfs2/inode.c:1219
which lock already depends on the new lock.
the existing dependency chain (in reverse order) is:
-> #2 (&ocfs2_sysfile_lock_key[args->fi_sysfile_type]){+.+.}-{3:3}:
down_write+0x36/0x60 kernel/locking/rwsem.c:1573
inode_lock include/linux/fs.h:758 [inline]
ocfs2_del_inode_from_orphan+0x12b/0x7b0 fs/ocfs2/namei.c:2713
ocfs2_dio_end_io_write fs/ocfs2/aops.c:2407 [inline]
ocfs2_dio_end_io+0x1074/0x13f0 fs/ocfs2/aops.c:2446
dio_complete+0x249/0x710 fs/direct-io.c:271
__blockdev_direct_IO+0x2e15/0x34c0 fs/direct-io.c:1320
ocfs2_direct_IO+0x233/0x2a0 fs/ocfs2/aops.c:2483
generic_file_direct_write+0x112/0x330 mm/filemap.c:3787
__generic_file_write_iter+0x15f/0x2a0 mm/filemap.c:3945
ocfs2_file_write_iter+0x1731/0x1fc0 fs/ocfs2/file.c:2469
do_iter_readv_writev fs/read_write.c:-1 [inline]
do_iter_write+0x638/0xb10 fs/read_write.c:861
vfs_writev fs/read_write.c:934 [inline]
do_pwritev+0x23e/0x3a0 fs/read_write.c:1031
do_syscall_x64 arch/x86/entry/common.c:46 [inline]
do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:76
entry_SYSCALL_64_after_hwframe+0x68/0xd2
-> #1 (&ocfs2_sysfile_lock_key[args->fi_sysfile_type]#3){+.+.}-{3:3}:
down_write+0x36/0x60 kernel/locking/rwsem.c:1573
inode_lock include/linux/fs.h:758 [inline]
ocfs2_reserve_suballoc_bits+0x16a/0x4810 fs/ocfs2/suballoc.c:782
ocfs2_reserve_new_metadata_blocks+0x412/0x9a0 fs/ocfs2/suballoc.c:978
ocfs2_add_refcount_flag+0x398/0xf10 fs/ocfs2/refcounttree.c:3683
ocfs2_reflink_remap_extent fs/ocfs2/refcounttree.c:4563 [inline]
ocfs2_reflink_remap_blocks+0xd66/0x1aa0 fs/ocfs2/refcounttree.c:4690
ocfs2_remap_file_range+0x4a7/0x740 fs/ocfs2/file.c:2703
do_clone_file_range+0x265/0x2d0 fs/remap_range.c:396
vfs_clone_file_range+0x1ec/0x4f0 fs/remap_range.c:414
ioctl_file_clone fs/ioctl.c:239 [inline]
ioctl_file_clone_range fs/ioctl.c:258 [inline]
do_vfs_ioctl+0xe8d/0x1d40 fs/ioctl.c:823
__do_sys_ioctl fs/ioctl.c:868 [inline]
__se_sys_ioctl+0x83/0x170 fs/ioctl.c:856
do_syscall_x64 arch/x86/entry/common.c:46 [inline]
do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:76
entry_SYSCALL_64_after_hwframe+0x68/0xd2
-> #0 (&new->rf_sem){+.+.}-{3:3}:
check_prev_add kernel/locking/lockdep.c:3090 [inline]
check_prevs_add kernel/locking/lockdep.c:3209 [inline]
validate_chain kernel/locking/lockdep.c:3825 [inline]
__lock_acquire+0x2c92/0x7bd0 kernel/locking/lockdep.c:5049
lock_acquire+0x1bb/0x4a0 kernel/locking/lockdep.c:5662
down_write+0x36/0x60 kernel/locking/rwsem.c:1573
__ocfs2_lock_refcount_tree fs/ocfs2/refcounttree.c:428 [inline]
ocfs2_lock_refcount_tree+0x1aa/0x9d0 fs/ocfs2/refcounttree.c:463
ocfs2_commit_truncate+0xb49/0x1e00 fs/ocfs2/alloc.c:7345
ocfs2_truncate_for_delete fs/ocfs2/inode.c:623 [inline]
ocfs2_wipe_inode fs/ocfs2/inode.c:790 [inline]
ocfs2_delete_inode fs/ocfs2/inode.c:1079 [inline]
ocfs2_evict_inode+0x19f6/0x45e0 fs/ocfs2/inode.c:1219
evict+0x4b6/0x8b0 fs/inode.c:705
ocfs2_dentry_iput+0x24a/0x390 fs/ocfs2/dcache.c:418
__dentry_kill+0x412/0x630 fs/dcache.c:611
dentry_kill+0xb8/0x290 fs/dcache.c:-1
dput+0xfa/0x1d0 fs/dcache.c:918
__fput+0x597/0x8b0 fs/file_table.c:328
task_work_run+0x1d0/0x260 kernel/task_work.c:203
resume_user_mode_work include/linux/resume_user_mode.h:49 [inline]
exit_to_user_mode_loop+0xe6/0x110 kernel/entry/common.c:177
exit_to_user_mode_prepare+0xee/0x180 kernel/entry/common.c:210
__syscall_exit_to_user_mode_work kernel/entry/common.c:292 [inline]
syscall_exit_to_user_mode+0x16/0x40 kernel/entry/common.c:303
do_syscall_64+0x58/0xa0 arch/x86/entry/common.c:82
entry_SYSCALL_64_after_hwframe+0x68/0xd2
other info that might help us debug this:
Chain exists of:
&new->rf_sem --> &ocfs2_sysfile_lock_key[args->fi_sysfile_type]#3 --> &ocfs2_sysfile_lock_key[args->fi_sysfile_type]
Possible unsafe locking scenario:
CPU0 CPU1
---- ----
lock(&ocfs2_sysfile_lock_key[args->fi_sysfile_type]);
lock(&ocfs2_sysfile_lock_key[args->fi_sysfile_type]#3);
lock(&ocfs2_sysfile_lock_key[args->fi_sysfile_type]);
lock(&new->rf_sem);
*** DEADLOCK ***
2 locks held by syz.3.54/4687:
#0: ffff88807ae8cab0 (&osb->nfs_sync_rwlock){.+.+}-{3:3}, at: ocfs2_nfs_sync_lock+0x103/0x270 fs/ocfs2/dlmglue.c:2874
#1: ffff8880705ba648 (&ocfs2_sysfile_lock_key[args->fi_sysfile_type]){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:758 [inline]
#1: ffff8880705ba648 (&ocfs2_sysfile_lock_key[args->fi_sysfile_type]){+.+.}-{3:3}, at: ocfs2_wipe_inode fs/ocfs2/inode.c:776 [inline]
#1: ffff8880705ba648 (&ocfs2_sysfile_lock_key[args->fi_sysfile_type]){+.+.}-{3:3}, at: ocfs2_delete_inode fs/ocfs2/inode.c:1079 [inline]
#1: ffff8880705ba648 (&ocfs2_sysfile_lock_key[args->fi_sysfile_type]){+.+.}-{3:3}, at: ocfs2_evict_inode+0x2e6e/0x45e0 fs/ocfs2/inode.c:1219
stack backtrace:
CPU: 1 PID: 4687 Comm: syz.3.54 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/09/2026
Call Trace:
<TASK>
dump_stack_lvl+0x188/0x24e lib/dump_stack.c:106
check_noncircular+0x296/0x330 kernel/locking/lockdep.c:2170
check_prev_add kernel/locking/lockdep.c:3090 [inline]
check_prevs_add kernel/locking/lockdep.c:3209 [inline]
validate_chain kernel/locking/lockdep.c:3825 [inline]
__lock_acquire+0x2c92/0x7bd0 kernel/locking/lockdep.c:5049
lock_acquire+0x1bb/0x4a0 kernel/locking/lockdep.c:5662
down_write+0x36/0x60 kernel/locking/rwsem.c:1573
__ocfs2_lock_refcount_tree fs/ocfs2/refcounttree.c:428 [inline]
ocfs2_lock_refcount_tree+0x1aa/0x9d0 fs/ocfs2/refcounttree.c:463
ocfs2_commit_truncate+0xb49/0x1e00 fs/ocfs2/alloc.c:7345
ocfs2_truncate_for_delete fs/ocfs2/inode.c:623 [inline]
ocfs2_wipe_inode fs/ocfs2/inode.c:790 [inline]
ocfs2_delete_inode fs/ocfs2/inode.c:1079 [inline]
ocfs2_evict_inode+0x19f6/0x45e0 fs/ocfs2/inode.c:1219
evict+0x4b6/0x8b0 fs/inode.c:705
ocfs2_dentry_iput+0x24a/0x390 fs/ocfs2/dcache.c:418
__dentry_kill+0x412/0x630 fs/dcache.c:611
dentry_kill+0xb8/0x290 fs/dcache.c:-1
dput+0xfa/0x1d0 fs/dcache.c:918
__fput+0x597/0x8b0 fs/file_table.c:328
task_work_run+0x1d0/0x260 kernel/task_work.c:203
resume_user_mode_work include/linux/resume_user_mode.h:49 [inline]
exit_to_user_mode_loop+0xe6/0x110 kernel/entry/common.c:177
exit_to_user_mode_prepare+0xee/0x180 kernel/entry/common.c:210
__syscall_exit_to_user_mode_work kernel/entry/common.c:292 [inline]
syscall_exit_to_user_mode+0x16/0x40 kernel/entry/common.c:303
do_syscall_64+0x58/0xa0 arch/x86/entry/common.c:82
entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7f069c19ce59
Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 e8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007ffe64be36a8 EFLAGS: 00000246 ORIG_RAX: 00000000000001b4
RAX: 0000000000000000 RBX: 00007ffe64be3790 RCX: 00007f069c19ce59
RDX: 0000000000000000 RSI: 000000000000001e RDI: 0000000000000003
RBP: 000000000001637f R08: 0000000000000001 R09: 0000000000000000
R10: 0000001b2ee20000 R11: 0000000000000246 R12: 00007ffe64be37d0
R13: 00007f069c415fac R14: 000000000001673f R15: 00007f069c415fa0
</TASK>
| Time | Kernel | Commit | Syzkaller | Config | Log | Report | Syz repro | C repro | VM info | Assets (help?) | Manager | Title |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026/06/20 05:42 | linux-6.1.y | fdb6fcb41cc7 | 43bfcdb0 | .config | console log | report | info | [disk image] [vmlinux] [kernel image] | ci2-linux-6-1-kasan | possible deadlock in ocfs2_lock_refcount_tree | ||
| 2026/06/26 02:38 | linux-6.1.y | fdb6fcb41cc7 | 7ff32d8b | .config | console log | report | info | [disk image] [vmlinux] [kernel image] | ci2-linux-6-1-kasan-arm64 | possible deadlock in ocfs2_lock_refcount_tree | ||
| 2026/06/04 18:38 | linux-6.1.y | 228da13e907e | 197909be | .config | console log | report | info | [disk image] [vmlinux] [kernel image] | ci2-linux-6-1-kasan-arm64 | possible deadlock in ocfs2_lock_refcount_tree | ||
| 2026/06/04 18:30 | linux-6.1.y | 228da13e907e | 197909be | .config | console log | report | info | [disk image] [vmlinux] [kernel image] | ci2-linux-6-1-kasan-arm64 | possible deadlock in ocfs2_lock_refcount_tree | ||
| 2026/06/04 18:04 | linux-6.1.y | 228da13e907e | 197909be | .config | console log | report | info | [disk image] [vmlinux] [kernel image] | ci2-linux-6-1-kasan-arm64 | possible deadlock in ocfs2_lock_refcount_tree | ||
| 2026/06/04 18:02 | linux-6.1.y | 228da13e907e | 197909be | .config | console log | report | info | [disk image] [vmlinux] [kernel image] | ci2-linux-6-1-kasan-arm64 | possible deadlock in ocfs2_lock_refcount_tree | ||
| 2026/06/04 18:00 | linux-6.1.y | 228da13e907e | 197909be | .config | console log | report | info | [disk image] [vmlinux] [kernel image] | ci2-linux-6-1-kasan-arm64 | possible deadlock in ocfs2_lock_refcount_tree | ||
| 2026/05/11 00:20 | linux-6.1.y | 128a674368bf | 29233ece | .config | console log | report | info | [disk image] [vmlinux] [kernel image] | ci2-linux-6-1-kasan-arm64 | possible deadlock in ocfs2_lock_refcount_tree |