BUG: sleeping function called from invalid context in gfs2_withdraw (2)

Status: upstream: reported on 2026/05/01 12:40
Reported-by: syzbot+8cbe100e78641dc50b4c@syzkaller.appspotmail.com
First crash: 150d, last: 15d
▶ ▼ Similar bugs (5)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-5.15 BUG: sleeping function called from invalid context in gfs2_withdraw 5 1 336d 336d 0/3 auto-obsoleted due to no activity on 2026/02/04 10:36
linux-6.1 BUG: sleeping function called from invalid context in gfs2_withdraw origin:upstream 5 syz, C error 26 7d04h 554d 0/3 upstream: reported C repro on 2025/03/23 18:44
upstream BUG: sleeping function called from invalid context in gfs2_withdraw gfs2 5 syz, C error done 182 993d 1114d 25/29 fixed on 2024/03/20 11:33
upstream BUG: sleeping function called from invalid context in gfs2_withdraw (2) gfs2 5 24 300d 379d 0/29 auto-obsoleted due to no activity on 2026/02/10 02:34
linux-6.6 BUG: sleeping function called from invalid context in gfs2_withdraw 5 13 268d 424d 0/2 auto-obsoleted due to no activity on 2026/04/13 03:54

Sample crash report:
syz.0.10: attempt to access beyond end of device
loop0: rw=1, sector=376, nr_sectors = 8 limit=0
gfs2: fsid=syz:syz.0: Error 10 writing to journal, jid=0
syz.0.10: attempt to access beyond end of device
loop0: rw=1, sector=320, nr_sectors = 8 limit=0
gfs2: fsid=syz:syz.0: fatal: I/O error(s)
gfs2: fsid=syz:syz.0: about to withdraw this file system
BUG: sleeping function called from invalid context at fs/gfs2/util.c:159
in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 5902, name: syz.0.10
preempt_count: 1, expected: 0
RCU nest depth: 0, expected: 0
5 locks held by syz.0.10/5902:
 #0: ffff88807b1a6418 (sb_writers#15){.+.+}-{0:0}, at: vfs_writev fs/read_write.c:932 [inline]
 #0: ffff88807b1a6418 (sb_writers#15){.+.+}-{0:0}, at: do_pwritev+0x22b/0x3a0 fs/read_write.c:1030
 #1: ffff88805c550160 (&sb->s_type->i_mutex_key#21){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:804 [inline]
 #1: ffff88805c550160 (&sb->s_type->i_mutex_key#21){+.+.}-{3:3}, at: gfs2_file_write_iter+0x364/0xe90 fs/gfs2/file.c:1115
 #2: ffff888025f55060 (&sdp->sd_log_flush_lock){++++}-{3:3}, at: gfs2_log_flush+0x27/0x50 fs/gfs2/log.c:1179
 #3: ffff888025f54e88 (&sdp->sd_log_lock){+.+.}-{2:2}, at: spin_lock include/linux/spinlock.h:351 [inline]
 #3: ffff888025f54e88 (&sdp->sd_log_lock){+.+.}-{2:2}, at: gfs2_log_lock fs/gfs2/log.h:32 [inline]
 #3: ffff888025f54e88 (&sdp->sd_log_lock){+.+.}-{2:2}, at: gfs2_flush_revokes+0x52/0x80 fs/gfs2/log.c:815
 #4: ffff888025f55248 (&sdp->sd_freeze_mutex){+.+.}-{3:3}, at: signal_our_withdraw fs/gfs2/util.c:152 [inline]
 #4: ffff888025f55248 (&sdp->sd_freeze_mutex){+.+.}-{3:3}, at: gfs2_withdraw+0x429/0x1400 fs/gfs2/util.c:333
Preemption disabled at:
[<0000000000000000>] 0x0
CPU: 0 PID: 5902 Comm: syz.0.10 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/08/2026
Call Trace:
 <TASK>
 dump_stack_lvl+0x18c/0x250 lib/dump_stack.c:106
 __might_resched+0x48d/0x5f0 kernel/sched/core.c:10212
 signal_our_withdraw fs/gfs2/util.c:157 [inline]
 gfs2_withdraw+0x477/0x1400 fs/gfs2/util.c:333
 gfs2_ail1_empty+0x7d1/0x860 fs/gfs2/log.c:377
 gfs2_flush_revokes+0x5c/0x80 fs/gfs2/log.c:816
 revoke_lo_before_commit+0x2c/0x5f0 fs/gfs2/lops.c:867
 lops_before_commit fs/gfs2/lops.h:42 [inline]
 __gfs2_log_flush+0xbe7/0x24d0 fs/gfs2/log.c:1103
 gfs2_log_flush+0x34/0x50 fs/gfs2/log.c:1180
 gfs2_write_inode+0x1ec/0x370 fs/gfs2/super.c:457
 write_inode fs/fs-writeback.c:1534 [inline]
 __writeback_single_inode+0x720/0xee0 fs/fs-writeback.c:1751
 writeback_single_inode+0x21f/0x760 fs/fs-writeback.c:1807
 sync_inode_metadata+0xe0/0x140 fs/fs-writeback.c:2879
 gfs2_fsync+0x1ab/0x330 fs/gfs2/file.c:762
 generic_write_sync include/linux/fs.h:2669 [inline]
 gfs2_file_write_iter+0xb40/0xe90 fs/gfs2/file.c:1160
 do_iter_readv_writev fs/read_write.c:-1 [inline]
 do_iter_write+0x747/0xc50 fs/read_write.c:860
 vfs_writev fs/read_write.c:933 [inline]
 do_pwritev+0x242/0x3a0 fs/read_write.c:1030
 do_syscall_x64 arch/x86/entry/common.c:46 [inline]
 do_syscall_64+0x55/0xb0 arch/x86/entry/common.c:76
 entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7efff419e159
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:00007efff50e5028 EFLAGS: 00000246 ORIG_RAX: 0000000000000148
RAX: ffffffffffffffda RBX: 00007efff4426180 RCX: 00007efff419e159
RDX: 0000000000000001 RSI: 0000200000000100 RDI: 0000000000000009
RBP: 00007efff423503b R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000005412 R11: 0000000000000246 R12: 0000000000000000
R13: 00007efff4426218 R14: 00007efff4426180 R15: 00007ffd183e60b8
 </TASK>
BUG: scheduling while atomic: syz.0.10/5902/0x00000002
5 locks held by syz.0.10/5902:
 #0: ffff88807b1a6418 (sb_writers#15){.+.+}-{0:0}, at: vfs_writev fs/read_write.c:932 [inline]
 #0: ffff88807b1a6418 (sb_writers#15){.+.+}-{0:0}, at: do_pwritev+0x22b/0x3a0 fs/read_write.c:1030
 #1: ffff88805c550160 (&sb->s_type->i_mutex_key#21){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:804 [inline]
 #1: ffff88805c550160 (&sb->s_type->i_mutex_key#21){+.+.}-{3:3}, at: gfs2_file_write_iter+0x364/0xe90 fs/gfs2/file.c:1115
 #2: ffff888025f55060 (&sdp->sd_log_flush_lock){++++}-{3:3}, at: gfs2_log_flush+0x27/0x50 fs/gfs2/log.c:1179
 #3: ffff888025f54e88 (&sdp->sd_log_lock){+.+.}-{2:2}, at: spin_lock include/linux/spinlock.h:351 [inline]
 #3: ffff888025f54e88 (&sdp->sd_log_lock){+.+.}-{2:2}, at: gfs2_log_lock fs/gfs2/log.h:32 [inline]
 #3: ffff888025f54e88 (&sdp->sd_log_lock){+.+.}-{2:2}, at: gfs2_flush_revokes+0x52/0x80 fs/gfs2/log.c:815
 #4: ffff888025f55248 (&sdp->sd_freeze_mutex){+.+.}-{3:3}, at: signal_our_withdraw fs/gfs2/util.c:152 [inline]
 #4: ffff888025f55248 (&sdp->sd_freeze_mutex){+.+.}-{3:3}, at: gfs2_withdraw+0x429/0x1400 fs/gfs2/util.c:333
Modules linked in:
Preemption disabled at:
[<0000000000000000>] 0x0

Crashes (16):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/09/13 06:39 linux-6.6.y 8b73de7da85f 70a60e12 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan BUG: sleeping function called from invalid context in gfs2_withdraw
2026/09/11 19:37 linux-6.6.y 8b73de7da85f b6a5eeb7 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan BUG: sleeping function called from invalid context in gfs2_withdraw
2026/09/09 23:41 linux-6.6.y 8b73de7da85f 4e8b1cc6 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan BUG: sleeping function called from invalid context in gfs2_withdraw
2026/08/31 10:29 linux-6.6.y a4a971135a2f 2f52988a .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan BUG: sleeping function called from invalid context in gfs2_withdraw
2026/07/22 09:44 linux-6.6.y da47cbc25466 b561ce9c .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan BUG: sleeping function called from invalid context in gfs2_withdraw
2026/07/13 10:58 linux-6.6.y da47cbc25466 d78ea535 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan BUG: sleeping function called from invalid context in gfs2_withdraw
2026/07/13 10:57 linux-6.6.y da47cbc25466 d78ea535 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan BUG: sleeping function called from invalid context in gfs2_withdraw
2026/07/13 10:55 linux-6.6.y da47cbc25466 d78ea535 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan BUG: sleeping function called from invalid context in gfs2_withdraw
2026/06/25 04:17 linux-6.6.y d1cfde2d5d15 302586aa .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan BUG: sleeping function called from invalid context in gfs2_withdraw
2026/06/25 04:16 linux-6.6.y d1cfde2d5d15 302586aa .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan BUG: sleeping function called from invalid context in gfs2_withdraw
2026/06/25 04:12 linux-6.6.y d1cfde2d5d15 302586aa .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan BUG: sleeping function called from invalid context in gfs2_withdraw
2026/06/07 19:01 linux-6.6.y 924b4a879cbb cc095639 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan BUG: sleeping function called from invalid context in gfs2_withdraw
2026/05/14 12:09 linux-6.6.y 3b9f64db0496 6ccb967e .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan BUG: sleeping function called from invalid context in gfs2_withdraw
2026/05/14 12:04 linux-6.6.y 3b9f64db0496 6ccb967e .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan BUG: sleeping function called from invalid context in gfs2_withdraw
2026/05/03 14:10 linux-6.6.y 258cf62a6dfd a0d91488 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan BUG: sleeping function called from invalid context in gfs2_withdraw
2026/05/01 12:39 linux-6.6.y 258cf62a6dfd 753c55b9 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan BUG: sleeping function called from invalid context in gfs2_withdraw
* Struck through repros no longer work on HEAD.