Re: [syzbot] [ext4?] kernel BUG in ext4_write_inline_data

From: syzbot
Date: Wed Dec 13 2023 - 06:56:15 EST


Hello,

syzbot has tested the proposed patch but the reproducer is still triggering an issue:
kernel BUG in ext4_do_writepages

------------[ cut here ]------------
kernel BUG at fs/ext4/inode.c:2587!
invalid opcode: 0000 [#1] PREEMPT SMP KASAN
CPU: 0 PID: 10 Comm: kworker/u4:0 Not tainted 6.4.0-rc3-syzkaller-dirty #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/10/2023
Workqueue: writeback wb_workfn (flush-7:0)
RIP: 0010:ext4_do_writepages+0x27a1/0x34a0 fs/ext4/inode.c:2587
Code: fc ff df 44 89 64 24 18 48 c1 ea 03 80 3c 02 00 0f 84 bc ed ff ff 48 8b 7c 24 08 e8 49 aa a8 ff e9 ad ed ff ff e8 ef 2f 55 ff <0f> 0b e8 e8 2f 55 ff 48 8b 84 24 b0 00 00 00 48 8d 78 40 48 b8 00
RSP: 0018:ffffc900000f73e8 EFLAGS: 00010293
RAX: 0000000000000000 RBX: ffff88807592bc50 RCX: 0000000000000000
RDX: ffff888016a41dc0 RSI: ffffffff82306c61 RDI: 0000000000000007
RBP: ffffc900000f75f0 R08: 0000000000000007 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000001 R12: 0000000000000001
R13: ffff88802aede678 R14: ffff88807592beb0 R15: 7fffffffffffffff
FS: 0000000000000000(0000) GS:ffff8880b9800000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000561e569a2950 CR3: 000000002a00e000 CR4: 0000000000350ef0
Call Trace:
<TASK>
ext4_writepages+0x30b/0x780 fs/ext4/inode.c:2792
do_writepages+0x1b4/0x690 mm/page-writeback.c:2551
__writeback_single_inode+0x158/0xe70 fs/fs-writeback.c:1603
writeback_sb_inodes+0x599/0x1010 fs/fs-writeback.c:1894
wb_writeback+0x2ca/0xa90 fs/fs-writeback.c:2068
wb_do_writeback fs/fs-writeback.c:2211 [inline]
wb_workfn+0x29c/0xfd0 fs/fs-writeback.c:2251
process_one_work+0x9f9/0x15f0 kernel/workqueue.c:2405
worker_thread+0x687/0x1110 kernel/workqueue.c:2552
kthread+0x33a/0x430 kernel/kthread.c:379
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:308
</TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:ext4_do_writepages+0x27a1/0x34a0 fs/ext4/inode.c:2587
Code: fc ff df 44 89 64 24 18 48 c1 ea 03 80 3c 02 00 0f 84 bc ed ff ff 48 8b 7c 24 08 e8 49 aa a8 ff e9 ad ed ff ff e8 ef 2f 55 ff <0f> 0b e8 e8 2f 55 ff 48 8b 84 24 b0 00 00 00 48 8d 78 40 48 b8 00
RSP: 0018:ffffc900000f73e8 EFLAGS: 00010293
RAX: 0000000000000000 RBX: ffff88807592bc50 RCX: 0000000000000000
RDX: ffff888016a41dc0 RSI: ffffffff82306c61 RDI: 0000000000000007
RBP: ffffc900000f75f0 R08: 0000000000000007 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000001 R12: 0000000000000001
R13: ffff88802aede678 R14: ffff88807592beb0 R15: 7fffffffffffffff
FS: 0000000000000000(0000) GS:ffff8880b9800000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f629e29e378 CR3: 000000000c772000 CR4: 0000000000350ef0


Tested on:

commit: 44c026a7 Linux 6.4-rc3
git tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
console output: https://syzkaller.appspot.com/x/log.txt?x=12c7b6fae80000
kernel config: https://syzkaller.appspot.com/x/.config?x=e2045748b9f1055b
dashboard link: https://syzkaller.appspot.com/bug?extid=f4582777a19ec422b517
compiler: gcc (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40
patch: https://syzkaller.appspot.com/x/patch.diff?x=133a9fbce80000