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: 179d, last: 5d00h
▶ ▼ 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 365d 365d 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 30 4d18h 583d 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 1023d 1143d 25/29 fixed on 2024/03/20 11:33
upstream BUG: sleeping function called from invalid context in gfs2_withdraw (2) gfs2 5 24 329d 409d 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 297d 454d 0/2 auto-obsoleted due to no activity on 2026/04/13 03:54

Sample crash report:
syz.6.319: attempt to access beyond end of device
loop6: rw=1, sector=320, nr_sectors = 8 limit=64
gfs2: fsid=syz:syz.0: Error 10 writing to journal, jid=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: 7432, name: syz.6.319
preempt_count: 1, expected: 0
RCU nest depth: 0, expected: 0
6 locks held by syz.6.319/7432:
 #0: ffff888021cc9748 (&f->f_pos_lock){+.+.}-{3:3}, at: __fdget_pos+0x2a3/0x330 fs/file.c:1040
 #1: ffff8880302e0418 (sb_writers#21){.+.+}-{0:0}, at: vfs_write+0x21e/0x9a0 fs/read_write.c:580
 #2: ffff88805dd5c490 (&sb->s_type->i_mutex_key#27){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:804 [inline]
 #2: ffff88805dd5c490 (&sb->s_type->i_mutex_key#27){+.+.}-{3:3}, at: gfs2_file_write_iter+0x364/0xe90 fs/gfs2/file.c:1119
 #3: ffff88803305d060 (&sdp->sd_log_flush_lock){++++}-{3:3}, at: gfs2_log_flush+0x27/0x50 fs/gfs2/log.c:1179
 #4: ffff88803305ce88 (&sdp->sd_log_lock){+.+.}-{2:2}, at: spin_lock include/linux/spinlock.h:351 [inline]
 #4: ffff88803305ce88 (&sdp->sd_log_lock){+.+.}-{2:2}, at: gfs2_log_lock fs/gfs2/log.h:32 [inline]
 #4: ffff88803305ce88 (&sdp->sd_log_lock){+.+.}-{2:2}, at: gfs2_flush_revokes+0x52/0x80 fs/gfs2/log.c:815
 #5: ffff88803305d248 (&sdp->sd_freeze_mutex){+.+.}-{3:3}, at: signal_our_withdraw fs/gfs2/util.c:152 [inline]
 #5: ffff88803305d248 (&sdp->sd_freeze_mutex){+.+.}-{3:3}, at: gfs2_withdraw+0x429/0x1400 fs/gfs2/util.c:333
Preemption disabled at:
[<0000000000000000>] 0x0
CPU: 1 PID: 7432 Comm: syz.6.319 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/16/2026
Call Trace:
 <TASK>
 dump_stack_lvl+0x18c/0x250 lib/dump_stack.c:106
 __might_resched+0x48d/0x5f0 kernel/sched/core.c:10264
 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:459
 write_inode fs/fs-writeback.c:1549 [inline]
 __writeback_single_inode+0x720/0xee0 fs/fs-writeback.c:1766
 writeback_single_inode+0x21f/0x760 fs/fs-writeback.c:1822
 sync_inode_metadata+0xe0/0x140 fs/fs-writeback.c:2894
 gfs2_fsync+0x1ab/0x330 fs/gfs2/file.c:762
 generic_write_sync include/linux/fs.h:2678 [inline]
 gfs2_file_write_iter+0xb40/0xe90 fs/gfs2/file.c:1164
 call_write_iter include/linux/fs.h:2019 [inline]
 new_sync_write fs/read_write.c:491 [inline]
 vfs_write+0x474/0x9a0 fs/read_write.c:584
 ksys_write+0x151/0x260 fs/read_write.c:637
 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:0x7fd4d1f9f559
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:00007fd4d2d96028 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
RAX: ffffffffffffffda RBX: 00007fd4d2226090 RCX: 00007fd4d1f9f559
RDX: 000000000000000b RSI: 0000200000029e80 RDI: 0000000000000006
RBP: 00007fd4d2036b20 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007fd4d2226128 R14: 00007fd4d2226090 R15: 00007ffd772ed338
 </TASK>
BUG: scheduling while atomic: syz.6.319/7432/0x00000002
6 locks held by syz.6.319/7432:
 #0: ffff888021cc9748 (&f->f_pos_lock){+.+.}-{3:3}, at: __fdget_pos+0x2a3/0x330 fs/file.c:1040
 #1: ffff8880302e0418 (sb_writers#21){.+.+}-{0:0}, at: vfs_write+0x21e/0x9a0 fs/read_write.c:580
 #2: ffff88805dd5c490 (&sb->s_type->i_mutex_key#27){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:804 [inline]
 #2: ffff88805dd5c490 (&sb->s_type->i_mutex_key#27){+.+.}-{3:3}, at: gfs2_file_write_iter+0x364/0xe90 fs/gfs2/file.c:1119
 #3: ffff88803305d060 (&sdp->sd_log_flush_lock){++++}-{3:3}, at: gfs2_log_flush+0x27/0x50 fs/gfs2/log.c:1179
 #4: ffff88803305ce88 (&sdp->sd_log_lock){+.+.}-{2:2}, at: spin_lock include/linux/spinlock.h:351 [inline]
 #4: ffff88803305ce88 (&sdp->sd_log_lock){+.+.}-{2:2}, at: gfs2_log_lock fs/gfs2/log.h:32 [inline]
 #4: ffff88803305ce88 (&sdp->sd_log_lock){+.+.}-{2:2}, at: gfs2_flush_revokes+0x52/0x80 fs/gfs2/log.c:815
 #5: ffff88803305d248 (&sdp->sd_freeze_mutex){+.+.}-{3:3}, at: signal_our_withdraw fs/gfs2/util.c:152 [inline]
 #5: ffff88803305d248 (&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 (17):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/10/22 21:32 linux-6.6.y 0aebf2870d53 b55fad29 .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/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.