syzbot
kernel BUG in btrfs_balance
Status:
upstream: reported on 2026/06/17 01:33
Subsystems:
btrfs
Labels:
prio:low
[Documentation on labels]
Reported-by: syzbot+dc9291cf132691aeb478@syzkaller.appspotmail.com
First crash: 99d, last: 7d09h
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 (5321)
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): rebuilding free space tree
BTRFS info (device loop0): checking UUID tree
BTRFS info (device loop0): enabling ssd optimizations
BTRFS info (device loop0): using spread ssd allocation scheme
BTRFS info (device loop0): turning on async discard
BTRFS info (device loop0): enabling free space tree
BTRFS info (device loop0): force clearing of disk cache
BTRFS info (device loop0): use zlib compression, level 3
FAULT_INJECTION: forcing a failure.
name failslab, interval 1, probability 0, space 0, times 1
CPU: 0 UID: 0 PID: 5321 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
Call Trace:
<TASK>
dump_stack_lvl+0xe8/0x150 lib/dump_stack.c:120
fail_dump lib/fault-inject.c:73 [inline]
should_fail_ex+0x410/0x560 lib/fault-inject.c:174
should_failslab+0xa8/0x100 mm/failslab.c:46
slab_pre_alloc_hook mm/slub.c:4638 [inline]
slab_alloc_node mm/slub.c:4974 [inline]
kmem_cache_alloc_noprof+0xa1/0x600 mm/slub.c:5010
btrfs_start_dirty_block_groups+0x320/0xed0 fs/btrfs/block-group.c:3604
btrfs_commit_transaction+0x379/0x3170 fs/btrfs/transaction.c:2297
insert_balance_item+0xcd7/0x1610 fs/btrfs/volumes.c:3938
btrfs_balance+0x77c/0x1180 fs/btrfs/volumes.c:5002
btrfs_ioctl_balance+0x3da/0x640 fs/btrfs/ioctl.c:3494
vfs_ioctl fs/ioctl.c:51 [inline]
__do_sys_ioctl fs/ioctl.c:597 [inline]
__se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
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:0x7f8a0f59e159
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:00007f8a10486fe8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00007f8a0f825fa0 RCX: 00007f8a0f59e159
RDX: 0000200000000180 RSI: 00000000c4009420 RDI: 0000000000000005
RBP: 00007f8a10487050 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000002
R13: 00007f8a0f826038 R14: 00007f8a0f825fa0 R15: 00007fffd4f51f88
</TASK>
------------[ cut here ]------------
kernel BUG at fs/btrfs/volumes.c:5007!
Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI
CPU: 0 UID: 0 PID: 5321 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_balance+0x1160/0x1180 fs/btrfs/volumes.c:5007
Code: a1 fd 48 c7 c7 40 9f 5a 8c 48 c7 c6 80 a9 5a 8c 48 c7 c2 c0 9c 5a 8c b9 9b 13 00 00 e8 49 ae 01 fd 90 0f 0b e8 f1 c9 a1 fd 90 <0f> 0b e8 e9 c9 a1 fd 90 0f 0b e8 e1 c9 a1 fd 90 0f 0b 66 66 66 66
RSP: 0018:ffffc9000f087d70 EFLAGS: 00010293
RAX: ffffffff842611cf RBX: 1ffff1100a543002 RCX: ffff888000340000
RDX: 0000000000000000 RSI: 00000000ffffffef RDI: 00000000ffffffef
RBP: 00000000ffffffef R08: ffff888000340000 R09: 0000000000000002
R10: 00000000ffffffef R11: 0000000000000000 R12: ffff888052a18000
R13: 0000000000000000 R14: 0000000000000000 R15: ffff888034416400
FS: 00007f8a104876c0(0000) GS:ffff88808c2c6000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f8a043ff000 CR3: 000000001214b000 CR4: 0000000000352ef0
Call Trace:
<TASK>
btrfs_ioctl_balance+0x3da/0x640 fs/btrfs/ioctl.c:3494
vfs_ioctl fs/ioctl.c:51 [inline]
__do_sys_ioctl fs/ioctl.c:597 [inline]
__se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
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:0x7f8a0f59e159
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:00007f8a10486fe8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00007f8a0f825fa0 RCX: 00007f8a0f59e159
RDX: 0000200000000180 RSI: 00000000c4009420 RDI: 0000000000000007
RBP: 00007f8a0f63503b R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007f8a0f826038 R14: 00007f8a0f825fa0 R15: 00007fffd4f51f88
</TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:btrfs_balance+0x1160/0x1180 fs/btrfs/volumes.c:5007
Code: a1 fd 48 c7 c7 40 9f 5a 8c 48 c7 c6 80 a9 5a 8c 48 c7 c2 c0 9c 5a 8c b9 9b 13 00 00 e8 49 ae 01 fd 90 0f 0b e8 f1 c9 a1 fd 90 <0f> 0b e8 e9 c9 a1 fd 90 0f 0b e8 e1 c9 a1 fd 90 0f 0b 66 66 66 66
RSP: 0018:ffffc9000f087d70 EFLAGS: 00010293
RAX: ffffffff842611cf RBX: 1ffff1100a543002 RCX: ffff888000340000
RDX: 0000000000000000 RSI: 00000000ffffffef RDI: 00000000ffffffef
RBP: 00000000ffffffef R08: ffff888000340000 R09: 0000000000000002
R10: 00000000ffffffef R11: 0000000000000000 R12: ffff888052a18000
R13: 0000000000000000 R14: 0000000000000000 R15: ffff888034416400
FS: 00007f8a104876c0(0000) GS:ffff88808c2c6000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ff1640cfad8 CR3: 000000001214b000 CR4: 0000000000352ef0
* Struck through repros no longer work on HEAD.