======================================================
WARNING: possible circular locking dependency detected
syzkaller #0 Not tainted
------------------------------------------------------
syz.7.416/9548 is trying to acquire lock:
ffff88805dabd118 (&ocfs2_sysfile_lock_key[args->fi_sysfile_type]#5){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:804 [inline]
ffff88805dabd118 (&ocfs2_sysfile_lock_key[args->fi_sysfile_type]#5){+.+.}-{3:3}, at: ocfs2_move_extent fs/ocfs2/move_extents.c:646 [inline]
ffff88805dabd118 (&ocfs2_sysfile_lock_key[args->fi_sysfile_type]#5){+.+.}-{3:3}, at: __ocfs2_move_extents_range+0x1a63/0x35d0 fs/ocfs2/move_extents.c:866
but task is already holding lock:
ffff88805d97a658 (&ocfs2_sysfile_lock_key[args->fi_sysfile_type]#6){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:804 [inline]
ffff88805d97a658 (&ocfs2_sysfile_lock_key[args->fi_sysfile_type]#6){+.+.}-{3:3}, at: ocfs2_move_extent fs/ocfs2/move_extents.c:638 [inline]
ffff88805d97a658 (&ocfs2_sysfile_lock_key[args->fi_sysfile_type]#6){+.+.}-{3:3}, at: __ocfs2_move_extents_range+0x1381/0x35d0 fs/ocfs2/move_extents.c:866
which lock already depends on the new lock.
the existing dependency chain (in reverse order) is:
-> #1 (&ocfs2_sysfile_lock_key[args->fi_sysfile_type]#6){+.+.}-{3:3}:
down_write+0x97/0x200 kernel/locking/rwsem.c:1573
inode_lock include/linux/fs.h:804 [inline]
__ocfs2_flush_truncate_log+0x352/0x1130 fs/ocfs2/alloc.c:6046
ocfs2_flush_truncate_log+0x4f/0x60 fs/ocfs2/alloc.c:6076
ocfs2_sync_fs+0x11d/0x330 fs/ocfs2/super.c:402
sync_filesystem+0x1c2/0x220 fs/sync.c:66
generic_shutdown_super+0x6f/0x2b0 fs/super.c:666
kill_block_super+0x44/0x90 fs/super.c:1660
deactivate_locked_super+0x97/0x100 fs/super.c:481
cleanup_mnt+0x43b/0x4d0 fs/namespace.c:1259
task_work_run+0x1d4/0x260 kernel/task_work.c:245
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:291 [inline]
syscall_exit_to_user_mode+0x1a/0x50 kernel/entry/common.c:302
do_syscall_64+0x61/0xa0 arch/x86/entry/common.c:82
entry_SYSCALL_64_after_hwframe+0x68/0xd2
-> #0 (&ocfs2_sysfile_lock_key[args->fi_sysfile_type]#5){+.+.}-{3:3}:
check_prev_add kernel/locking/lockdep.c:3134 [inline]
check_prevs_add kernel/locking/lockdep.c:3253 [inline]
validate_chain kernel/locking/lockdep.c:3869 [inline]
__lock_acquire+0x2df1/0x7d40 kernel/locking/lockdep.c:5137
lock_acquire+0x19e/0x420 kernel/locking/lockdep.c:5754
down_write+0x97/0x200 kernel/locking/rwsem.c:1573
inode_lock include/linux/fs.h:804 [inline]
ocfs2_move_extent fs/ocfs2/move_extents.c:646 [inline]
__ocfs2_move_extents_range+0x1a63/0x35d0 fs/ocfs2/move_extents.c:866
ocfs2_move_extents+0x3a7/0x9a0 fs/ocfs2/move_extents.c:938
ocfs2_ioctl_move_extents+0x527/0x6c0 fs/ocfs2/move_extents.c:1064
ocfs2_ioctl+0x199/0x7e0 fs/ocfs2/ioctl.c:945
vfs_ioctl fs/ioctl.c:51 [inline]
__do_sys_ioctl fs/ioctl.c:871 [inline]
__se_sys_ioctl+0xfd/0x170 fs/ioctl.c:857
do_syscall_x64 arch/x86/entry/common.c:46 [inline]
do_syscall_64+0x55/0xa0 arch/x86/entry/common.c:76
entry_SYSCALL_64_after_hwframe+0x68/0xd2
other info that might help us debug this:
Possible unsafe locking scenario:
CPU0 CPU1
---- ----
lock(&ocfs2_sysfile_lock_key[args->fi_sysfile_type]#6);
lock(&ocfs2_sysfile_lock_key[args->fi_sysfile_type]#5);
lock(&ocfs2_sysfile_lock_key[args->fi_sysfile_type]#6);
lock(&ocfs2_sysfile_lock_key[args->fi_sysfile_type]#5);
*** DEADLOCK ***
5 locks held by syz.7.416/9548:
#0: ffff888053966418 (sb_writers#18){.+.+}-{0:0}, at: mnt_want_write_file+0x63/0x200 fs/namespace.c:456
#1: ffff888078485f58 (&sb->s_type->i_mutex_key#24){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:804 [inline]
#1: ffff888078485f58 (&sb->s_type->i_mutex_key#24){+.+.}-{3:3}, at: ocfs2_move_extents+0x1a0/0x9a0 fs/ocfs2/move_extents.c:916
#2: ffff888078485be0 (&ocfs2_file_ip_alloc_sem_key){++++}-{3:3}, at: ocfs2_move_extents+0x39a/0x9a0 fs/ocfs2/move_extents.c:936
#3: ffff88805d97c2d8 (&ocfs2_sysfile_lock_key[args->fi_sysfile_type]#3){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:804 [inline]
#3: ffff88805d97c2d8 (&ocfs2_sysfile_lock_key[args->fi_sysfile_type]#3){+.+.}-{3:3}, at: ocfs2_reserve_suballoc_bits+0x16e/0x44c0 fs/ocfs2/suballoc.c:782
#4: ffff88805d97a658 (&ocfs2_sysfile_lock_key[args->fi_sysfile_type]#6){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:804 [inline]
#4: ffff88805d97a658 (&ocfs2_sysfile_lock_key[args->fi_sysfile_type]#6){+.+.}-{3:3}, at: ocfs2_move_extent fs/ocfs2/move_extents.c:638 [inline]
#4: ffff88805d97a658 (&ocfs2_sysfile_lock_key[args->fi_sysfile_type]#6){+.+.}-{3:3}, at: __ocfs2_move_extents_range+0x1381/0x35d0 fs/ocfs2/move_extents.c:866
stack backtrace:
CPU: 1 PID: 9548 Comm: syz.7.416 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/18/2026
Call Trace:
dump_stack_lvl+0x18c/0x250 lib/dump_stack.c:106
check_noncircular+0x2fc/0x400 kernel/locking/lockdep.c:2187
check_prev_add kernel/locking/lockdep.c:3134 [inline]
check_prevs_add kernel/locking/lockdep.c:3253 [inline]
validate_chain kernel/locking/lockdep.c:3869 [inline]
__lock_acquire+0x2df1/0x7d40 kernel/locking/lockdep.c:5137
lock_acquire+0x19e/0x420 kernel/locking/lockdep.c:5754
down_write+0x97/0x200 kernel/locking/rwsem.c:1573
inode_lock include/linux/fs.h:804 [inline]
ocfs2_move_extent fs/ocfs2/move_extents.c:646 [inline]
__ocfs2_move_extents_range+0x1a63/0x35d0 fs/ocfs2/move_extents.c:866
ocfs2_move_extents+0x3a7/0x9a0 fs/ocfs2/move_extents.c:938
ocfs2_ioctl_move_extents+0x527/0x6c0 fs/ocfs2/move_extents.c:1064
ocfs2_ioctl+0x199/0x7e0 fs/ocfs2/ioctl.c:945
vfs_ioctl fs/ioctl.c:51 [inline]
__do_sys_ioctl fs/ioctl.c:871 [inline]
__se_sys_ioctl+0xfd/0x170 fs/ioctl.c:857
do_syscall_x64 arch/x86/entry/common.c:46 [inline]
do_syscall_64+0x55/0xa0 arch/x86/entry/common.c:76
entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7f720c19c819
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:00007f720d0a4028 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00007f720c416090 RCX: 00007f720c19c819
RDX: 00002000000000c0 RSI: 0000000040406f06 RDI: 0000000000000004
RBP: 00007f720c232c91 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007f720c416128 R14: 00007f720c416090 R15: 00007ffdf68266c8
------------[ cut here ]------------
kernel BUG at fs/ocfs2/suballoc.c:1349!
invalid opcode: 0000 [#1] PREEMPT SMP KASAN
CPU: 0 PID: 9548 Comm: syz.7.416 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/18/2026
RIP: 0010:ocfs2_block_group_set_bits+0x57e/0x6b0 fs/ocfs2/suballoc.c:1349
Code: ff 44 89 e1 80 e1 07 fe c1 38 c1 0f 8c 4c fd ff ff 4c 89 e7 e8 43 c6 7d fe e9 3f fd ff ff e8 e9 8e 25 fe 0f 0b e8 e2 8e 25 fe <0f> 0b 65 44 8b 25 a4 22 a2 7c bf 07 00 00 00 44 89 e6 e8 7b 92 25
RSP: 0018:ffffc90004d4f3c0 EFLAGS: 00010246
RAX: ffffffff8361931e RBX: 00000000000000ec RCX: 0000000000080000
RDX: ffffc90013ed8000 RSI: 000000000007ffff RDI: 0000000000080000
RBP: ffffc90004d4f4b0 R08: 0000000000000007 R09: 00000000000000ec
R10: 00000000fffffffc R11: 0000000000000002 R12: dffffc0000000000
R13: 0000000000000007 R14: ffff88805429a000 R15: 000000000000006b
FS: 00007f720d0a46c0(0000) GS:ffff8880b8e00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f7db5c1a7b8 CR3: 000000006a7f8000 CR4: 00000000003506f0
Call Trace:
ocfs2_move_extent fs/ocfs2/move_extents.c:693 [inline]
__ocfs2_move_extents_range+0x2a13/0x35d0 fs/ocfs2/move_extents.c:866
ocfs2_move_extents+0x3a7/0x9a0 fs/ocfs2/move_extents.c:938
ocfs2_ioctl_move_extents+0x527/0x6c0 fs/ocfs2/move_extents.c:1064
ocfs2_ioctl+0x199/0x7e0 fs/ocfs2/ioctl.c:945
vfs_ioctl fs/ioctl.c:51 [inline]
__do_sys_ioctl fs/ioctl.c:871 [inline]
__se_sys_ioctl+0xfd/0x170 fs/ioctl.c:857
do_syscall_x64 arch/x86/entry/common.c:46 [inline]
do_syscall_64+0x55/0xa0 arch/x86/entry/common.c:76
entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7f720c19c819
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:00007f720d0a4028 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00007f720c416090 RCX: 00007f720c19c819
RDX: 00002000000000c0 RSI: 0000000040406f06 RDI: 0000000000000004
RBP: 00007f720c232c91 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007f720c416128 R14: 00007f720c416090 R15: 00007ffdf68266c8
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:ocfs2_block_group_set_bits+0x57e/0x6b0 fs/ocfs2/suballoc.c:1349
Code: ff 44 89 e1 80 e1 07 fe c1 38 c1 0f 8c 4c fd ff ff 4c 89 e7 e8 43 c6 7d fe e9 3f fd ff ff e8 e9 8e 25 fe 0f 0b e8 e2 8e 25 fe <0f> 0b 65 44 8b 25 a4 22 a2 7c bf 07 00 00 00 44 89 e6 e8 7b 92 25
RSP: 0018:ffffc90004d4f3c0 EFLAGS: 00010246
RAX: ffffffff8361931e RBX: 00000000000000ec RCX: 0000000000080000
RDX: ffffc90013ed8000 RSI: 000000000007ffff RDI: 0000000000080000
RBP: ffffc90004d4f4b0 R08: 0000000000000007 R09: 00000000000000ec
R10: 00000000fffffffc R11: 0000000000000002 R12: dffffc0000000000
R13: 0000000000000007 R14: ffff88805429a000 R15: 000000000000006b
FS: 00007f720d0a46c0(0000) GS:ffff8880b8e00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f7db5c1a7b8 CR3: 000000006a7f8000 CR4: 00000000003506f0