Re: [syzbot] [btrfs?] WARNING in btrfs_finish_one_ordered

From: syzbot
Date: Thu Aug 10 2023 - 14:41:42 EST


syzbot has found a reproducer for the following issue on:

HEAD commit: 374a7f47bf40 Merge tag '6.5-rc5-ksmbd-server' of git://git..
git tree: upstream
console+strace: https://syzkaller.appspot.com/x/log.txt?x=103260f7a80000
kernel config: https://syzkaller.appspot.com/x/.config?x=da6e201fec031cc0
dashboard link: https://syzkaller.appspot.com/bug?extid=6e54e639e7b934d64304
compiler: gcc (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=17eef89da80000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=147c2fa5a80000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/ac1351a051ec/disk-374a7f47.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/bc7b4ffa739d/vmlinux-374a7f47.xz
kernel image: https://storage.googleapis.com/syzbot-assets/2764a8bb0cd5/bzImage-374a7f47.xz
mounted in repro: https://storage.googleapis.com/syzbot-assets/4ee442dd4f54/mount_0.gz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+6e54e639e7b934d64304@xxxxxxxxxxxxxxxxxxxxxxxxx

------------[ cut here ]------------
BTRFS: Transaction aborted (error -28)
WARNING: CPU: 1 PID: 32 at fs/btrfs/inode.c:3279 btrfs_finish_one_ordered+0x1d42/0x2240 fs/btrfs/inode.c:3279
Modules linked in:
CPU: 1 PID: 32 Comm: kworker/u4:2 Not tainted 6.5.0-rc5-syzkaller-00063-g374a7f47bf40 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/26/2023
Workqueue: btrfs-endio-write btrfs_work_helper
RIP: 0010:btrfs_finish_one_ordered+0x1d42/0x2240 fs/btrfs/inode.c:3279
Code: c6 80 af b5 8a 48 c7 c7 00 9a b5 8a e8 67 3a f6 fd 0f 0b e8 80 d8 12 fe 8b b5 10 ff ff ff 48 c7 c7 00 ab b5 8a e8 ce 99 d9 fd <0f> 0b e9 b1 fc ff ff e8 62 d8 12 fe 8b b5 10 ff ff ff 48 c7 c7 00
RSP: 0018:ffffc90000c9fad8 EFLAGS: 00010286
RAX: 0000000000000000 RBX: ffff888079be3c20 RCX: 0000000000000000
RDX: ffff888013af0140 RSI: ffffffff814be3c6 RDI: 0000000000000001
RBP: ffffc90000c9fc58 R08: 0000000000000001 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000001 R12: ffff888071f926e0
R13: 0000000000000001 R14: ffff888071f92690 R15: ffff888079be3c68
FS: 0000000000000000(0000) GS:ffff8880b9900000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f2c26c23060 CR3: 000000002a825000 CR4: 00000000003506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<TASK>
btrfs_work_helper+0x20b/0xba0 fs/btrfs/async-thread.c:314
process_one_work+0xaa2/0x16f0 kernel/workqueue.c:2600
worker_thread+0x687/0x1110 kernel/workqueue.c:2751
kthread+0x33a/0x430 kernel/kthread.c:389
ret_from_fork+0x2c/0x70 arch/x86/kernel/process.c:145
ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:304
</TASK>


---
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.