[syzbot] [btrfs?] WARNING in __btrfs_free_extent (2)

6 views
Skip to first unread message

syzbot

unread,
Jun 23, 2024, 11:39:24 AM (6 days ago) Jun 23
to bo...@bur.io, c...@fb.com, dst...@suse.com, jo...@toxicpanda.com, linux...@vger.kernel.org, linux-...@vger.kernel.org, syzkall...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 2ccbdf43d5e7 Merge tag 'for-linus' of git://git.kernel.org..
git tree: upstream
console+strace: https://syzkaller.appspot.com/x/log.txt?x=10aed446980000
kernel config: https://syzkaller.appspot.com/x/.config?x=c79815c08cc14227
dashboard link: https://syzkaller.appspot.com/bug?extid=fe3566bcb509ae7764ef
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=10ebe941980000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=1374b3de980000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/35e32e9073a7/disk-2ccbdf43.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/6c6e34658d16/vmlinux-2ccbdf43.xz
kernel image: https://storage.googleapis.com/syzbot-assets/4417e7ef76ed/bzImage-2ccbdf43.xz
mounted in repro: https://storage.googleapis.com/syzbot-assets/b1cd2f1f0c7e/mount_0.gz

The issue was bisected to:

commit cecbb533b5fcec4ff77e786b7f94457f6cacd9e7
Author: Boris Burkov <bo...@bur.io>
Date: Wed Jun 28 18:00:15 2023 +0000

btrfs: record simple quota deltas in delayed refs

bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=15a47be2980000
final oops: https://syzkaller.appspot.com/x/report.txt?x=17a47be2980000
console output: https://syzkaller.appspot.com/x/log.txt?x=13a47be2980000

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+fe3566...@syzkaller.appspotmail.com
Fixes: cecbb533b5fc ("btrfs: record simple quota deltas in delayed refs")

BTRFS: Transaction aborted (error -2)
WARNING: CPU: 0 PID: 5085 at fs/btrfs/extent-tree.c:2984 do_free_extent_accounting fs/btrfs/extent-tree.c:2984 [inline]
WARNING: CPU: 0 PID: 5085 at fs/btrfs/extent-tree.c:2984 __btrfs_free_extent+0x32d1/0x3a10 fs/btrfs/extent-tree.c:3358
Modules linked in:
CPU: 0 PID: 5085 Comm: syz-executor845 Not tainted 6.10.0-rc3-syzkaller-00044-g2ccbdf43d5e7 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/07/2024
RIP: 0010:do_free_extent_accounting fs/btrfs/extent-tree.c:2984 [inline]
RIP: 0010:__btrfs_free_extent+0x32d1/0x3a10 fs/btrfs/extent-tree.c:3358
Code: e8 64 b0 b0 fd 90 0f 0b 90 90 e9 3c f3 ff ff e8 b5 81 ee fd 90 48 c7 c7 00 2e 0b 8c 44 8b 6c 24 18 44 89 ee e8 40 b0 b0 fd 90 <0f> 0b 90 90 4c 8b 24 24 e9 4f f3 ff ff e8 8d 81 ee fd 90 48 c7 c7
RSP: 0018:ffffc9000352f220 EFLAGS: 00010246
RAX: 7e1377ca92db5900 RBX: ffff888024e3c001 RCX: ffff88807c1f0000
RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000
RBP: ffffc9000352f3f0 R08: ffffffff81585742 R09: fffffbfff1c39994
R10: dffffc0000000000 R11: fffffbfff1c39994 R12: dffffc0000000000
R13: 00000000fffffffe R14: 0000000000000000 R15: ffff888063a8b5c8
FS: 000055556fa3c3c0(0000) GS:ffff8880b9400000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00005648b40a4798 CR3: 0000000023a7e000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<TASK>
run_delayed_tree_ref fs/btrfs/extent-tree.c:1736 [inline]
run_one_delayed_ref fs/btrfs/extent-tree.c:1762 [inline]
btrfs_run_delayed_refs_for_head fs/btrfs/extent-tree.c:2027 [inline]
__btrfs_run_delayed_refs+0x117c/0x4670 fs/btrfs/extent-tree.c:2097
btrfs_run_delayed_refs+0xe3/0x2c0 fs/btrfs/extent-tree.c:2209
btrfs_commit_transaction+0xf5d/0x3740 fs/btrfs/transaction.c:2400
sync_filesystem+0x1c8/0x230 fs/sync.c:66
generic_shutdown_super+0x72/0x2d0 fs/super.c:621
kill_anon_super+0x3b/0x70 fs/super.c:1226
btrfs_kill_super+0x41/0x50 fs/btrfs/super.c:2096
deactivate_locked_super+0xc4/0x130 fs/super.c:473
cleanup_mnt+0x41f/0x4b0 fs/namespace.c:1267
task_work_run+0x24f/0x310 kernel/task_work.c:180
ptrace_notify+0x2d2/0x380 kernel/signal.c:2402
ptrace_report_syscall include/linux/ptrace.h:415 [inline]
ptrace_report_syscall_exit include/linux/ptrace.h:477 [inline]
syscall_exit_work+0xc6/0x190 kernel/entry/common.c:173
syscall_exit_to_user_mode_prepare kernel/entry/common.c:200 [inline]
__syscall_exit_to_user_mode_work kernel/entry/common.c:205 [inline]
syscall_exit_to_user_mode+0x273/0x370 kernel/entry/common.c:218
do_syscall_64+0x100/0x230 arch/x86/entry/common.c:89
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7fda22d8de67
Code: 08 00 48 83 c4 08 5b 5d c3 66 2e 0f 1f 84 00 00 00 00 00 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 b8 a6 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 01 c3 48 c7 c2 b0 ff ff ff f7 d8 64 89 02 b8
RSP: 002b:00007fffaba15888 EFLAGS: 00000206 ORIG_RAX: 00000000000000a6
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 00007fda22d8de67
RDX: 0000000000000000 RSI: 0000000000000009 RDI: 00007fffaba15940
RBP: 00007fffaba15940 R08: 0000000000000000 R09: 0000000000000000
R10: 00000000ffffffff R11: 0000000000000206 R12: 00007fffaba16a00
R13: 000055556fa3d700 R14: 431bde82d7b634db R15: 00007fffaba169a4
</TASK>


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzk...@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
For information about bisection process see: https://goo.gl/tpsmEJ#bisection

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup

Lizhi Xu

unread,
Jun 27, 2024, 9:01:26 PM (2 days ago) Jun 27
to syzbot+fe3566...@syzkaller.appspotmail.com, syzkall...@googlegroups.com
#syz test: upstream 2ccbdf43d5e7

diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index 3774c191e36d..8cab95333f35 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -2979,10 +2979,12 @@ static int do_free_extent_accounting(struct btrfs_trans_handle *trans,
}
}

- ret = btrfs_record_squota_delta(trans->fs_info, delta);
- if (ret) {
- btrfs_abort_transaction(trans, ret);
- return ret;
+ if (btrfs_qgroup_enabled(trans->fs_info)) {
+ ret = btrfs_record_squota_delta(trans->fs_info, delta);
+ if (ret) {
+ btrfs_abort_transaction(trans, ret);
+ return ret;
+ }
}

ret = add_to_free_space_tree(trans, bytenr, num_bytes);

syzbot

unread,
Jun 27, 2024, 9:20:03 PM (2 days ago) Jun 27
to linux-...@vger.kernel.org, lizh...@windriver.com, syzkall...@googlegroups.com
Hello,

syzbot has tested the proposed patch but the reproducer is still triggering an issue:
WARNING in __btrfs_free_extent

------------[ cut here ]------------
BTRFS: Transaction aborted (error -2)
WARNING: CPU: 1 PID: 5913 at fs/btrfs/extent-tree.c:2985 do_free_extent_accounting fs/btrfs/extent-tree.c:2985 [inline]
WARNING: CPU: 1 PID: 5913 at fs/btrfs/extent-tree.c:2985 __btrfs_free_extent+0x3564/0x3a40 fs/btrfs/extent-tree.c:3360
Modules linked in:
CPU: 1 PID: 5913 Comm: syz-executor.2 Not tainted 6.10.0-rc3-syzkaller-00044-g2ccbdf43d5e7-dirty #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/07/2024
RIP: 0010:do_free_extent_accounting fs/btrfs/extent-tree.c:2985 [inline]
RIP: 0010:__btrfs_free_extent+0x3564/0x3a40 fs/btrfs/extent-tree.c:3360
Code: ff ff 48 89 df e8 9c f9 50 fe e9 9d e0 ff ff e8 22 7f ee fd 90 48 c7 c7 00 2e 0b 8c 44 8b 6c 24 18 44 89 ee e8 ad ad b0 fd 90 <0f> 0b 90 90 4c 8b 24 24 e9 13 f5 ff ff 48 8b 4c 24 20 80 e1 07 80
RSP: 0018:ffffc900042af340 EFLAGS: 00010246

RAX: 6c4a53fef53c7400 RBX: ffff88807135c001 RCX: ffff88802ae55a00
RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000
RBP: ffffc900042af510 R08: ffffffff81585742 R09: 1ffff92000855e08
R10: dffffc0000000000 R11: fffff52000855e09 R12: dffffc0000000000
R13: 00000000fffffffe R14: 0000000000000000 R15: ffff88806f7cf818
FS: 0000555588813480(0000) GS:ffff8880b9500000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055558881c938 CR3: 000000007124e000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<TASK>
run_delayed_tree_ref fs/btrfs/extent-tree.c:1736 [inline]
run_one_delayed_ref fs/btrfs/extent-tree.c:1762 [inline]
btrfs_run_delayed_refs_for_head fs/btrfs/extent-tree.c:2027 [inline]
__btrfs_run_delayed_refs+0x117c/0x4670 fs/btrfs/extent-tree.c:2097
btrfs_run_delayed_refs+0xe3/0x2c0 fs/btrfs/extent-tree.c:2209
btrfs_commit_transaction+0xf5d/0x3740 fs/btrfs/transaction.c:2400
sync_filesystem+0x1c8/0x230 fs/sync.c:66
generic_shutdown_super+0x72/0x2d0 fs/super.c:621
kill_anon_super+0x3b/0x70 fs/super.c:1226
btrfs_kill_super+0x41/0x50 fs/btrfs/super.c:2096
deactivate_locked_super+0xc4/0x130 fs/super.c:473
cleanup_mnt+0x41f/0x4b0 fs/namespace.c:1267
task_work_run+0x24f/0x310 kernel/task_work.c:180
resume_user_mode_work include/linux/resume_user_mode.h:50 [inline]
exit_to_user_mode_loop kernel/entry/common.c:114 [inline]
exit_to_user_mode_prepare include/linux/entry-common.h:328 [inline]
__syscall_exit_to_user_mode_work kernel/entry/common.c:207 [inline]
syscall_exit_to_user_mode+0x168/0x370 kernel/entry/common.c:218
do_syscall_64+0x100/0x230 arch/x86/entry/common.c:89
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f9668a7e257
Code: b0 ff ff ff f7 d8 64 89 01 48 83 c8 ff c3 0f 1f 44 00 00 31 f6 e9 09 00 00 00 66 0f 1f 84 00 00 00 00 00 b8 a6 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 01 c3 48 c7 c2 b0 ff ff ff f7 d8 64 89 02 b8
RSP: 002b:00007ffdf71b8e28 EFLAGS: 00000246 ORIG_RAX: 00000000000000a6
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 00007f9668a7e257
RDX: 0000000000000000 RSI: 0000000000000009 RDI: 00007ffdf71b8ee0
RBP: 00007ffdf71b8ee0 R08: 0000000000000000 R09: 0000000000000000
R10: 00000000ffffffff R11: 0000000000000246 R12: 00007ffdf71b9f90
R13: 00007f9668ad96c6 R14: 0000000000019832 R15: 0000000000000002
</TASK>


Tested on:

commit: 2ccbdf43 Merge tag 'for-linus' of git://git.kernel.org..
git tree: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
console output: https://syzkaller.appspot.com/x/log.txt?x=16868cd1980000
kernel config: https://syzkaller.appspot.com/x/.config?x=c79815c08cc14227
dashboard link: https://syzkaller.appspot.com/bug?extid=fe3566bcb509ae7764ef
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
patch: https://syzkaller.appspot.com/x/patch.diff?x=1666bda9980000

Reply all
Reply to author
Forward
0 new messages