possible deadlock in __ocfs2_flush_truncate_log

Status: upstream: reported C repro on 2025/03/14 17:58
Bug presence: origin:lts-only
[Documentation on labels]
Reported-by: syzbot+e886c043a0ce74c263b0@syzkaller.appspotmail.com
First crash: 509d, last: 11h33m
Bug presence (2)
Date Name Commit Repro Result
2026/08/06 linux-5.15.y (ToT) 6e2fd6534337 C [report] possible deadlock in __ocfs2_flush_truncate_log
2026/08/05 upstream (ToT) 0d8395707651 C Didn't crash
Similar bugs (3)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream possible deadlock in __ocfs2_flush_truncate_log ocfs2 4 syz, C inconclusive 3410 359d 509d 29/29 fixed on 2025/09/04 16:57
linux-6.6 possible deadlock in __ocfs2_flush_truncate_log origin:upstream missing-backport 4 syz, C inconclusive 587 5d20h 405d 0/2 upstream: reported C repro on 2025/06/27 02:38
linux-6.1 possible deadlock in __ocfs2_flush_truncate_log 4 2642 45d 510d 0/3 upstream: reported on 2025/03/14 12:11

Sample crash report:
======================================================
WARNING: possible circular locking dependency detected
syzkaller #0 Not tainted
------------------------------------------------------
syz-executor/4292 is trying to acquire lock:
ffff8880683fd108 (&ocfs2_sysfile_lock_key[args->fi_sysfile_type]#5){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:787 [inline]
ffff8880683fd108 (&ocfs2_sysfile_lock_key[args->fi_sysfile_type]#5){+.+.}-{3:3}, at: __ocfs2_flush_truncate_log+0x351/0x1110 fs/ocfs2/alloc.c:6044

but task is already holding lock:
ffff88805bc03488 (&ocfs2_sysfile_lock_key[args->fi_sysfile_type]#6){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:787 [inline]
ffff88805bc03488 (&ocfs2_sysfile_lock_key[args->fi_sysfile_type]#6){+.+.}-{3:3}, at: ocfs2_flush_truncate_log+0x43/0x60 fs/ocfs2/alloc.c:6073

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+0x38/0x60 kernel/locking/rwsem.c:1551
       inode_lock include/linux/fs.h:787 [inline]
       ocfs2_move_extent fs/ocfs2/move_extents.c:648 [inline]
       __ocfs2_move_extents_range+0x1a31/0x3450 fs/ocfs2/move_extents.c:868
       ocfs2_move_extents+0x409/0xa40 fs/ocfs2/move_extents.c:940
       ocfs2_ioctl_move_extents+0x4d7/0x6e0 fs/ocfs2/move_extents.c:1066
       ocfs2_ioctl+0x31f/0x7a0 fs/ocfs2/ioctl.c:947
       vfs_ioctl fs/ioctl.c:51 [inline]
       __do_sys_ioctl fs/ioctl.c:874 [inline]
       __se_sys_ioctl+0xfa/0x170 fs/ioctl.c:860
       do_syscall_x64 arch/x86/entry/common.c:50 [inline]
       do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:80
       entry_SYSCALL_64_after_hwframe+0x66/0xd0

-> #0 (&ocfs2_sysfile_lock_key[args->fi_sysfile_type]#5){+.+.}-{3:3}:
       check_prev_add kernel/locking/lockdep.c:3053 [inline]
       check_prevs_add kernel/locking/lockdep.c:3172 [inline]
       validate_chain kernel/locking/lockdep.c:3788 [inline]
       __lock_acquire+0x2c66/0x7b50 kernel/locking/lockdep.c:5012
       lock_acquire+0x19e/0x400 kernel/locking/lockdep.c:5623
       down_write+0x38/0x60 kernel/locking/rwsem.c:1551
       inode_lock include/linux/fs.h:787 [inline]
       __ocfs2_flush_truncate_log+0x351/0x1110 fs/ocfs2/alloc.c:6044
       ocfs2_flush_truncate_log+0x4b/0x60 fs/ocfs2/alloc.c:6074
       ocfs2_sync_fs+0x119/0x330 fs/ocfs2/super.c:403
       sync_filesystem+0x1be/0x220 fs/sync.c:66
       generic_shutdown_super+0x6b/0x300 fs/super.c:448
       kill_block_super+0x7c/0xe0 fs/super.c:1427
       deactivate_locked_super+0x93/0xf0 fs/super.c:335
       cleanup_mnt+0x426/0x4d0 fs/namespace.c:1148
       task_work_run+0x125/0x1a0 kernel/task_work.c:188
       exit_task_work include/linux/task_work.h:33 [inline]
       do_exit+0x635/0x2110 kernel/exit.c:890
       do_group_exit+0x12c/0x2f0 kernel/exit.c:1004
       get_signal+0x7eb/0x12e0 kernel/signal.c:2909
       arch_do_signal_or_restart+0xe6/0x12a0 arch/x86/kernel/signal.c:867
       handle_signal_work kernel/entry/common.c:154 [inline]
       exit_to_user_mode_loop+0x9e/0x130 kernel/entry/common.c:178
       exit_to_user_mode_prepare+0xee/0x180 kernel/entry/common.c:214
       __syscall_exit_to_user_mode_work kernel/entry/common.c:296 [inline]
       syscall_exit_to_user_mode+0x16/0x40 kernel/entry/common.c:307
       do_syscall_64+0x58/0xa0 arch/x86/entry/common.c:86
       entry_SYSCALL_64_after_hwframe+0x66/0xd0

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 ***

2 locks held by syz-executor/4292:
 #0: ffff888075dce0e0 (&type->s_umount_key#54){+.+.}-{3:3}, at: deactivate_super+0xa0/0xd0 fs/super.c:365
 #1: ffff88805bc03488 (&ocfs2_sysfile_lock_key[args->fi_sysfile_type]#6){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:787 [inline]
 #1: ffff88805bc03488 (&ocfs2_sysfile_lock_key[args->fi_sysfile_type]#6){+.+.}-{3:3}, at: ocfs2_flush_truncate_log+0x43/0x60 fs/ocfs2/alloc.c:6073

stack backtrace:
CPU: 0 PID: 4292 Comm: syz-executor Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
Call Trace:
 <TASK>
 dump_stack_lvl+0x188/0x250 lib/dump_stack.c:106
 check_noncircular+0x296/0x330 kernel/locking/lockdep.c:2133
 check_prev_add kernel/locking/lockdep.c:3053 [inline]
 check_prevs_add kernel/locking/lockdep.c:3172 [inline]
 validate_chain kernel/locking/lockdep.c:3788 [inline]
 __lock_acquire+0x2c66/0x7b50 kernel/locking/lockdep.c:5012
 lock_acquire+0x19e/0x400 kernel/locking/lockdep.c:5623
 down_write+0x38/0x60 kernel/locking/rwsem.c:1551
 inode_lock include/linux/fs.h:787 [inline]
 __ocfs2_flush_truncate_log+0x351/0x1110 fs/ocfs2/alloc.c:6044
 ocfs2_flush_truncate_log+0x4b/0x60 fs/ocfs2/alloc.c:6074
 ocfs2_sync_fs+0x119/0x330 fs/ocfs2/super.c:403
 sync_filesystem+0x1be/0x220 fs/sync.c:66
 generic_shutdown_super+0x6b/0x300 fs/super.c:448
 kill_block_super+0x7c/0xe0 fs/super.c:1427
 deactivate_locked_super+0x93/0xf0 fs/super.c:335
 cleanup_mnt+0x426/0x4d0 fs/namespace.c:1148
 task_work_run+0x125/0x1a0 kernel/task_work.c:188
 exit_task_work include/linux/task_work.h:33 [inline]
 do_exit+0x635/0x2110 kernel/exit.c:890
 do_group_exit+0x12c/0x2f0 kernel/exit.c:1004
 get_signal+0x7eb/0x12e0 kernel/signal.c:2909
 arch_do_signal_or_restart+0xe6/0x12a0 arch/x86/kernel/signal.c:867
 handle_signal_work kernel/entry/common.c:154 [inline]
 exit_to_user_mode_loop+0x9e/0x130 kernel/entry/common.c:178
 exit_to_user_mode_prepare+0xee/0x180 kernel/entry/common.c:214
 __syscall_exit_to_user_mode_work kernel/entry/common.c:296 [inline]
 syscall_exit_to_user_mode+0x16/0x40 kernel/entry/common.c:307
 do_syscall_64+0x58/0xa0 arch/x86/entry/common.c:86
 entry_SYSCALL_64_after_hwframe+0x66/0xd0
RIP: 0033:0x7f234afa833c
Code: Unable to access opcode bytes at RIP 0x7f234afa8312.
RSP: 002b:00007ffe55bbcf10 EFLAGS: 00000206 ORIG_RAX: 0000000000000101
RAX: 0000000000000003 RBX: 00007f234b03f45c RCX: 00007f234afa833c
RDX: 0000000000090800 RSI: 00007ffe55bbe0c0 RDI: 00000000ffffff9c
RBP: 00007ffe55bbe0ac R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000206 R12: 00007ffe55bbe0c0
R13: 00007f234b03f45c R14: 000000000001458a R15: 00007ffe55bbe100
 </TASK>
ocfs2: Unmounting device (7,0) on (node local)

Crashes (904):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/08/04 08:01 linux-5.15.y 6e2fd6534337 9451e17e .config console log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro (clean fs)] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2026/07/28 10:36 linux-5.15.y 674f684f7c61 45ae1df4 .config console log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro (clean fs)] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2026/08/04 05:28 linux-5.15.y 6e2fd6534337 9451e17e .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2026/08/04 05:23 linux-5.15.y 6e2fd6534337 9451e17e .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2026/07/28 05:02 linux-5.15.y 674f684f7c61 45ae1df4 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2026/07/27 15:27 linux-5.15.y 674f684f7c61 aae9036b .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2026/07/01 06:46 linux-5.15.y eceeec79dbc6 00a5cf1c .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2026/07/01 06:44 linux-5.15.y eceeec79dbc6 00a5cf1c .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2026/06/30 18:36 linux-5.15.y eceeec79dbc6 00e8b0fd .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2026/06/30 07:16 linux-5.15.y eceeec79dbc6 fff8d0a0 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2026/06/30 03:50 linux-5.15.y eceeec79dbc6 fff8d0a0 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2026/06/29 13:17 linux-5.15.y eceeec79dbc6 6a0c72dc .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2026/06/28 02:40 linux-5.15.y eceeec79dbc6 fb92f11c .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2026/06/28 02:35 linux-5.15.y eceeec79dbc6 fb92f11c .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2026/06/21 23:21 linux-5.15.y eceeec79dbc6 43bfcdb0 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2026/06/17 19:16 linux-5.15.y dc027a595035 b62b3ded .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2026/06/17 02:27 linux-5.15.y dc027a595035 62cc6db3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2026/06/16 20:13 linux-5.15.y dc027a595035 a3998659 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2026/05/18 02:25 linux-5.15.y 93741761e5e3 de5aae85 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2026/05/18 02:12 linux-5.15.y 93741761e5e3 de5aae85 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2026/05/09 22:17 linux-5.15.y de8dfb3f0278 29233ece .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2026/05/03 14:05 linux-5.15.y ef251c45f1cd a0d91488 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2026/03/12 17:52 linux-5.15.y 91d48252ad4b 4efadf07 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2026/02/22 22:27 linux-5.15.y 3330a8d33e08 6e7b5511 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2026/02/12 02:32 linux-5.15.y e45d5d41c134 76a109e2 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2026/02/11 19:06 linux-5.15.y e45d5d41c134 75707236 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2026/02/10 06:13 linux-5.15.y 7b232985052f 4ab09a02 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2026/01/29 08:38 linux-5.15.y 9eec9a14ee10 0adc945e .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2026/01/10 22:51 linux-5.15.y 68efe5a6c16a d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2026/01/02 10:53 linux-5.15.y 68efe5a6c16a d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2026/01/01 09:51 linux-5.15.y 68efe5a6c16a d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2025/12/03 02:59 linux-5.15.y cc5ec8769306 d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2025/11/29 11:59 linux-5.15.y cc5ec8769306 d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2025/11/29 10:56 linux-5.15.y cc5ec8769306 d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2025/11/28 19:47 linux-5.15.y cc5ec8769306 d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2025/11/28 04:26 linux-5.15.y cc5ec8769306 d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2025/11/28 04:17 linux-5.15.y cc5ec8769306 d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2025/11/28 03:37 linux-5.15.y cc5ec8769306 d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2025/11/28 02:30 linux-5.15.y cc5ec8769306 d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2025/11/28 02:02 linux-5.15.y cc5ec8769306 d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2025/11/28 01:55 linux-5.15.y cc5ec8769306 d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2025/11/22 03:06 linux-5.15.y cc5ec8769306 4fb8ef37 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2025/10/29 11:23 linux-5.15.y ac56c046adf4 fd2207e7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2025/10/29 06:15 linux-5.15.y ac56c046adf4 fd2207e7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2025/03/14 17:57 linux-5.15.y 0c935c049b5c e2826670 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan possible deadlock in __ocfs2_flush_truncate_log
2025/08/28 14:14 linux-5.15.y c79648372d02 e12e5ba4 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-arm64 possible deadlock in __ocfs2_flush_truncate_log
* Struck through repros no longer work on HEAD.