possible deadlock in blkdev_buffered_write

Status: upstream: reported C repro on 2026/10/20 15:32
Subsystems: block
Labels: prio:low
[Documentation on labels]
Reported-by: syzbot+bd975ef54294bec73f0e@syzkaller.appspotmail.com
First crash: 11d, last: 10m
Cause bisection: introduced by (bisect log) :
commit 1b1be9ea4e34ccede1e7cf9ff2b6317328a5b6ad
Author: Julian Sun <sunjunchao@bytedance.com>
Date: Thu Oct 15 09:11:05 2026 +0000

  block: take the inode lock for buffered write fallback

Crash: possible deadlock in blkdev_buffered_write (log)
Repro: C syz .config
  
▶ ▼ ✨ AI Jobs (1)
ID Workflow Result Correct Bug Created Started Finished Revision
b1022f40 assessment-security DenialOfService: ✅ Exploitable: ❌ FilesystemTrigger: ❌ NetworkTrigger: ❌ PeripheralTrigger: ❌ RemoteTrigger: ❌ Unprivileged: ❌ UserNamespace: ❌ VMGuestTrigger: ❌ VMHostTrigger: ❌ ❓ possible deadlock in blkdev_buffered_write 2026/10/17 00:01 2026/10/17 00:01 2026/10/17 00:56 432c0077
▶ ▼ Discussions (2)
Title Replies (including bot) Last reply
[PATCH] block: don't take i_rwsem twice in the direct write fallback 7 (7) 2026/10/27 14:48
[syzbot] [block?] possible deadlock in blkdev_buffered_write 0 (2) 2026/10/27 00:17
▶ ▼ Cause bisection attempts (2)
Created Duration User Patch Repo Result
2026/10/26 17:54 6h21m bisect upstream OK (1) job log log
2026/10/19 05:46 0m bisect linux-next error

Sample crash report:
============================================
WARNING: possible recursive locking detected
syzkaller #0 Not tainted
--------------------------------------------
syz-executor542/5622 is trying to acquire lock:
ffff8880277923c8 (&sb->s_type->i_mutex_key#9){++++}-{4:4}, at: inode_lock_shared include/linux/fs.h:1039 [inline]
ffff8880277923c8 (&sb->s_type->i_mutex_key#9){++++}-{4:4}, at: blkdev_buffered_write+0xb1/0x110 block/fops.c:734

but task is already holding lock:
ffff8880277923c8 (&sb->s_type->i_mutex_key#9){++++}-{4:4}, at: inode_lock_shared include/linux/fs.h:1039 [inline]
ffff8880277923c8 (&sb->s_type->i_mutex_key#9){++++}-{4:4}, at: blkdev_write_iter+0x6c8/0x810 block/fops.c:811

other info that might help us debug this:
 Possible unsafe locking scenario:

       CPU0
       ----
  lock(&sb->s_type->i_mutex_key#9);
  lock(&sb->s_type->i_mutex_key#9);

 *** DEADLOCK ***

 May be due to missing lock nesting notation

locks held by syz-executor542/5622: 1, last CPU#1:
 #0: ffff8880277923c8 (&sb->s_type->i_mutex_key#9){++++}-{4:4}, at: inode_lock_shared include/linux/fs.h:1039 [inline]
 #0: ffff8880277923c8 (&sb->s_type->i_mutex_key#9){++++}-{4:4}, at: blkdev_write_iter+0x6c8/0x810 block/fops.c:811

stack backtrace:
CPU: 1 UID: 0 PID: 5622 Comm: syz-executor542 Not tainted syzkaller #0 PREEMPT_{RT,(full)} 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/07/2026
Call Trace:
 <TASK>
 dump_stack_lvl+0xe8/0x150 lib/dump_stack.c:120
 print_deadlock_bug+0x27a/0x290 kernel/locking/lockdep.c:3085
 check_deadlock kernel/locking/lockdep.c:3137 [inline]
 validate_chain kernel/locking/lockdep.c:3939 [inline]
 __lock_acquire+0x25db/0x2de0 kernel/locking/lockdep.c:5288
 lock_acquire+0x115/0x350 kernel/locking/lockdep.c:5942
 down_read+0x92/0x200 kernel/locking/rwsem.c:1574
 inode_lock_shared include/linux/fs.h:1039 [inline]
 blkdev_buffered_write+0xb1/0x110 block/fops.c:734
 blkdev_write_iter+0x6d8/0x810 block/fops.c:812
 do_iter_readv_writev+0x624/0x8d0 fs/read_write.c:-1
 vfs_writev+0x34c/0x990 fs/read_write.c:1058
 do_writev+0x15a/0x2e0 fs/read_write.c:1104
 do_syscall_x64 arch/x86/entry/syscall_64.c:61 [inline]
 do_syscall_64+0x166/0x520 arch/x86/entry/syscall_64.c:84
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f9da1485509
Code: c0 79 93 eb d5 48 8d 7c 1d 00 eb 99 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 d8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007ffff88cede8 EFLAGS: 00000246 ORIG_RAX: 0000000000000014
RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f9da1485509
RDX: 0000000000000002 RSI: 0000200000000100 RDI: 0000000000000003
RBP: 0000000000000001 R08: 0000000000000006 R09: 0000000000000006
R10: 0000000000000000 R11: 0000000000000246 R12: 00007ffff88cef58
R13: 431bde82d7b634db R14: 00007f9da1518c40 R15: 0000000000000002
 </TASK>

Crashes (1384):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/10/25 19:32 upstream 21a7f44fd076 1d9ca40b .config strace log report syz / log C [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in blkdev_buffered_write
2026/10/22 22:15 linux-next bd1ecbb61afe 4ba27f85 .config console log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro] ci-upstream-linux-next-kasan-gce-root possible deadlock in blkdev_buffered_write
2026/10/18 05:23 linux-next 2efb7a11f1aa 432c0077 .config console log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro] ci-upstream-linux-next-kasan-gce-root possible deadlock in blkdev_buffered_write
2026/10/16 20:27 linux-next 2efb7a11f1aa b1757810 .config strace log report syz / log C [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce possible deadlock in blkdev_buffered_write
2026/10/16 19:51 linux-next 2efb7a11f1aa b1757810 .config strace log report syz / log C [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce possible deadlock in blkdev_buffered_write
2026/10/16 17:59 linux-next 2efb7a11f1aa b1757810 .config strace log report syz / log C [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce possible deadlock in blkdev_buffered_write
2026/10/27 19:27 upstream d135ab453a74 96923c60 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce possible deadlock in blkdev_buffered_write
2026/10/27 18:26 upstream d135ab453a74 96923c60 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce possible deadlock in blkdev_buffered_write
2026/10/27 16:54 upstream d135ab453a74 96923c60 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce possible deadlock in blkdev_buffered_write
2026/10/27 16:51 upstream d135ab453a74 96923c60 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce possible deadlock in blkdev_buffered_write
2026/10/27 14:55 upstream d135ab453a74 96923c60 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce possible deadlock in blkdev_buffered_write
2026/10/27 12:47 upstream d135ab453a74 168cb7a2 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce possible deadlock in blkdev_buffered_write
2026/10/27 10:17 upstream d135ab453a74 168cb7a2 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce possible deadlock in blkdev_buffered_write
2026/10/27 09:47 upstream d135ab453a74 168cb7a2 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce possible deadlock in blkdev_buffered_write
2026/10/27 08:30 upstream d135ab453a74 168cb7a2 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce possible deadlock in blkdev_buffered_write
2026/10/27 07:29 upstream d135ab453a74 168cb7a2 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce possible deadlock in blkdev_buffered_write
2026/10/27 07:09 upstream d135ab453a74 168cb7a2 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in blkdev_buffered_write
2026/10/27 06:01 upstream 6b4b543fa187 168cb7a2 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce possible deadlock in blkdev_buffered_write
2026/10/27 04:06 upstream 6b4b543fa187 168cb7a2 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce possible deadlock in blkdev_buffered_write
2026/10/27 03:03 upstream 6b4b543fa187 168cb7a2 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce possible deadlock in blkdev_buffered_write
2026/10/27 01:57 upstream 6b4b543fa187 168cb7a2 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce possible deadlock in blkdev_buffered_write
2026/10/27 01:23 upstream 6b4b543fa187 168cb7a2 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce possible deadlock in blkdev_buffered_write
2026/10/27 00:20 upstream 6b4b543fa187 168cb7a2 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce possible deadlock in blkdev_buffered_write
2026/10/26 23:19 upstream 6b4b543fa187 168cb7a2 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce possible deadlock in blkdev_buffered_write
2026/10/26 22:28 upstream 6b4b543fa187 168cb7a2 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce possible deadlock in blkdev_buffered_write
2026/10/26 21:24 upstream 6b4b543fa187 168cb7a2 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in blkdev_buffered_write
2026/10/26 19:07 upstream 6b4b543fa187 168cb7a2 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce possible deadlock in blkdev_buffered_write
2026/10/26 18:14 upstream 6b4b543fa187 168cb7a2 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce possible deadlock in blkdev_buffered_write
2026/10/26 14:49 upstream 12392d40a3be 1d9ca40b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce possible deadlock in blkdev_buffered_write
2026/10/26 13:01 upstream 12392d40a3be 1d9ca40b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce possible deadlock in blkdev_buffered_write
2026/10/26 12:56 upstream 12392d40a3be 1d9ca40b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce possible deadlock in blkdev_buffered_write
2026/10/26 11:54 upstream 12392d40a3be 1d9ca40b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce possible deadlock in blkdev_buffered_write
2026/10/26 11:13 upstream 12392d40a3be 1d9ca40b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce possible deadlock in blkdev_buffered_write
2026/10/26 09:11 upstream 12392d40a3be 1d9ca40b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce possible deadlock in blkdev_buffered_write
2026/10/26 08:41 upstream 12392d40a3be 1d9ca40b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce possible deadlock in blkdev_buffered_write
2026/10/26 07:37 upstream 12392d40a3be 1d9ca40b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce possible deadlock in blkdev_buffered_write
2026/10/26 07:25 upstream 7d37252fc49a 1d9ca40b .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-fs possible deadlock in blkdev_buffered_write
2026/10/26 06:24 upstream 12392d40a3be 1d9ca40b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce possible deadlock in blkdev_buffered_write
2026/10/26 05:49 upstream 12392d40a3be 1d9ca40b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce possible deadlock in blkdev_buffered_write
2026/10/26 05:21 upstream 12392d40a3be 1d9ca40b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce possible deadlock in blkdev_buffered_write
2026/10/25 21:21 upstream 21a7f44fd076 1d9ca40b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root possible deadlock in blkdev_buffered_write
2026/10/25 11:46 upstream 21a7f44fd076 1d9ca40b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-smack-root possible deadlock in blkdev_buffered_write
2026/10/27 19:41 upstream d135ab453a74 96923c60 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-386 possible deadlock in blkdev_buffered_write
2026/10/27 13:47 upstream d135ab453a74 96923c60 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-386 possible deadlock in blkdev_buffered_write
2026/10/27 11:26 upstream d135ab453a74 168cb7a2 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-386 possible deadlock in blkdev_buffered_write
2026/10/27 04:56 upstream 6b4b543fa187 168cb7a2 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-386 possible deadlock in blkdev_buffered_write
2026/10/26 20:25 upstream 6b4b543fa187 168cb7a2 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-386 possible deadlock in blkdev_buffered_write
2026/10/26 13:48 upstream 12392d40a3be 1d9ca40b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-386 possible deadlock in blkdev_buffered_write
2026/10/26 10:10 upstream 12392d40a3be 1d9ca40b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-386 possible deadlock in blkdev_buffered_write
2026/10/26 05:21 upstream 12392d40a3be 1d9ca40b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-386 possible deadlock in blkdev_buffered_write
2026/10/26 04:19 upstream 12392d40a3be 1d9ca40b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-386 possible deadlock in blkdev_buffered_write
2026/10/25 19:39 upstream 21a7f44fd076 1d9ca40b .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root possible deadlock in blkdev_buffered_write
2026/10/26 17:09 linux-next f1ac44c32cba 168cb7a2 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce possible deadlock in blkdev_buffered_write
2026/10/26 17:09 linux-next f1ac44c32cba 168cb7a2 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-rust-kasan-gce possible deadlock in blkdev_buffered_write
2026/10/24 18:11 linux-next 20a33c6b6cbe 1d9ca40b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in blkdev_buffered_write
2026/10/16 15:23 linux-next 2efb7a11f1aa b1757810 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in blkdev_buffered_write
* Struck through repros no longer work on HEAD.