syzbot
kernel BUG in btrfs_subpage_assert
Status:
upstream: reported on 2026/08/24 11:08
Subsystems:
btrfs
Labels:
prio:high
[Documentation on labels]
Reported-by: syzbot+d490d04560554e6259b9@syzkaller.appspotmail.com
First crash: 9d06h, last: 2d17h
Sample crash report:
loop0: detected capacity change from 0 to 32768
BTRFS: device fsid 395ef67a-297e-477c-816d-cd80a5b93e5d devid 1 transid 8 /dev/loop0 (7:0) scanned by syz.0.0 (5312)
BTRFS info (device loop0): first mount of filesystem 395ef67a-297e-477c-816d-cd80a5b93e5d
BTRFS info (device loop0): using sha256 checksum algorithm
BTRFS info (device loop0): enabling ssd optimizations
BTRFS info (device loop0): turning on async discard
BTRFS info (device loop0): enabling free space tree
assertion failed: folio_test_private(folio) && folio_get_private(folio), in fs/btrfs/subpage.c:154
------------[ cut here ]------------
kernel BUG at fs/btrfs/subpage.c:154!
Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI
CPU: 0 UID: 0 PID: 5312 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full)
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
RIP: 0010:btrfs_subpage_assert+0x43f/0x4e0 fs/btrfs/subpage.c:154
Code: a7 87 fd eb 05 e8 d1 a7 87 fd 48 c7 c7 20 57 5c 8c 48 c7 c6 c0 5c 5c 8c 48 c7 c2 c0 57 5c 8c b9 9a 00 00 00 e8 a2 31 e8 fc 90 <0f> 0b e8 aa a7 87 fd 4c 89 ff 48 c7 c6 20 5e 5c 8c e8 db 90 e8 fc
RSP: 0018:ffffc9000dbef438 EFLAGS: 00010246
RAX: 0000000000000062 RBX: 0000000000000000 RCX: ea65d26b8c1e7c00
RDX: ffffc9000f5a1000 RSI: 00000000000fffff RDI: 0000000000100000
RBP: ffffea00004a1600 R08: ffffc9000dbef1c7 R09: 1ffff92001b7de38
R10: dffffc0000000000 R11: fffff52001b7de39 R12: 1ffffd40000942c1
R13: ffff888052920000 R14: 1ffffd40000942c0 R15: ffffea00004a1600
FS: 00007fc0b0cdd6c0(0000) GS:ffff88808c30a000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fb28593c5a3 CR3: 0000000043e79000 CR4: 0000000000352ef0
Call Trace:
<TASK>
btrfs_subpage_set_fixup_dirty fs/btrfs/subpage.c:529 [inline]
btrfs_folio_set_fixup_dirty+0x475/0xc70 fs/btrfs/subpage.c:568
btrfs_data_dirty_folio+0x1c7/0x240 fs/btrfs/inode.c:10799
bio_set_pages_dirty+0x372/0xa70 block/bio.c:1733
__blkdev_direct_IO+0x821/0xf60 block/fops.c:249
blkdev_direct_IO+0x121d/0x17b0 block/fops.c:435
blkdev_read_iter+0x223/0x420 block/fops.c:816
aio_read+0x33a/0x4d0 fs/aio.c:1656
__io_submit_one fs/aio.c:-1 [inline]
io_submit_one+0x774/0x13d0 fs/aio.c:2106
__do_sys_io_submit fs/aio.c:2165 [inline]
__se_sys_io_submit+0x195/0x340 fs/aio.c:2135
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:0x7fc0afd9e0d9
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:00007fc0b0cdcfe8 EFLAGS: 00000246 ORIG_RAX: 00000000000000d1
RAX: ffffffffffffffda RBX: 00007fc0b0026090 RCX: 00007fc0afd9e0d9
RDX: 00002000000000c0 RSI: 00000000000000ca RDI: 00007fc0b0cbc000
RBP: 00007fc0afe35024 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007fc0b0026128 R14: 00007fc0b0026090 R15: 00007ffc6fa3be38
</TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:btrfs_subpage_assert+0x43f/0x4e0 fs/btrfs/subpage.c:154
Code: a7 87 fd eb 05 e8 d1 a7 87 fd 48 c7 c7 20 57 5c 8c 48 c7 c6 c0 5c 5c 8c 48 c7 c2 c0 57 5c 8c b9 9a 00 00 00 e8 a2 31 e8 fc 90 <0f> 0b e8 aa a7 87 fd 4c 89 ff 48 c7 c6 20 5e 5c 8c e8 db 90 e8 fc
RSP: 0018:ffffc9000dbef438 EFLAGS: 00010246
RAX: 0000000000000062 RBX: 0000000000000000 RCX: ea65d26b8c1e7c00
RDX: ffffc9000f5a1000 RSI: 00000000000fffff RDI: 0000000000100000
RBP: ffffea00004a1600 R08: ffffc9000dbef1c7 R09: 1ffff92001b7de38
R10: dffffc0000000000 R11: fffff52001b7de39 R12: 1ffffd40000942c1
R13: ffff888052920000 R14: 1ffffd40000942c0 R15: ffffea00004a1600
FS: 00007fc0b0cdd6c0(0000) GS:ffff88808c30a000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fb28593c5a3 CR3: 0000000043e79000 CR4: 0000000000352ef0
* Struck through repros no longer work on HEAD.