[BUG REPORT] kernel BUG in ext4_write_inline_data_end

From: Jun Nie
Date: Thu Nov 17 2022 - 02:55:52 EST


Hi,

syzbot find a bug[0] in ext4 on android13-5.15-lts as below and it can
be reproduced on mailine v6.1-rc5(094226ad94f4) too The log from
mainline can be found in URL [1]. The bisect test shows below
commit[2] is the first commit that reproduce the bug. With reverting
the commit, there is no bug reproduced[3].

Is reverting the commit 21175ca434c5 a acceptable solution? Any fix
work is in progress?

[0] https://syzkaller.appspot.com/bug?id=5bafe4554067100b70f58a81268aa06ea3f9c345
[1] https://syzkaller.appspot.com/text?tag=CrashLog&x=118359c1880000
[2] 21175ca434c5 ext4: make prefetch_block_bitmaps default
[3] https://groups.google.com/g/syzkaller-android-bugs/c/HKLNVJQICMM/m/YcHNpH_iBAAJ

kernel BUG at fs/ext4/inline.c:227!
invalid opcode: 0000 [#1] PREEMPT SMP KASAN
Call Trace:
<TASK>
ext4_write_end+0x1af/0x9d0 fs/ext4/inode.c:1307
ext4_da_write_end+0x92/0xa70 fs/ext4/inode.c:3067
generic_perform_write+0x3c7/0x5d0 mm/filemap.c:3836
ext4_buffered_write_iter+0x49b/0x630 fs/ext4/file.c:271
ext4_file_write_iter+0x456/0x1dc0
do_iter_readv_writev+0x52a/0x720
do_iter_write+0x1f4/0x760 fs/read_write.c:855
vfs_iter_write+0x7c/0xa0 fs/read_write.c:896
iter_file_splice_write+0x810/0xfd0 fs/splice.c:689
do_splice_from fs/splice.c:767 [inline]
direct_splice_actor+0xfe/0x130 fs/splice.c:934
splice_direct_to_actor+0x4d4/0xbd0 fs/splice.c:889
do_splice_direct+0x2a0/0x3f0 fs/splice.c:977
do_sendfile+0x63b/0xfd0 fs/read_write.c:1249
__do_sys_sendfile64 fs/read_write.c:1317 [inline]
__se_sys_sendfile64 fs/read_write.c:1303 [inline]
__x64_sys_sendfile64+0x1ce/0x230 fs/read_write.c:1303
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x44/0xd0 arch/x86/entry/common.c:80
entry_SYSCALL_64_after_hwframe+0x61/0xcb

Regards,
Jun