Re: [syzbot] [erofs?] KMSAN: uninit-value in z_erofs_lz4_decompress (2)

syzbot
2023-12-28T14:32:04Z

Hello,

syzbot has tested the proposed patch but the reproducer is still triggering an issue:
KMSAN: uninit-value in z_erofs_lz4_decompress

loop0: detected capacity change from 0 to 16
erofs: (device loop0): mounted with root inode @ nid 36.
erofs: (device loop0): z_erofs_lz4_decompress_mem: failed to decompress -12 in[46, 4050] out[917]
=====================================================
BUG: KMSAN: uninit-value in hex_dump_to_buffer+0xae9/0x10f0 lib/hexdump.c:194
hex_dump_to_buffer+0xae9/0x10f0 lib/hexdump.c:194
print_hex_dump+0x13d/0x3e0 lib/hexdump.c:276
z_erofs_lz4_decompress_mem fs/erofs/decompressor.c:252 [inline]
z_erofs_lz4_decompress+0x2624/0x2b30 fs/erofs/decompressor.c:311
z_erofs_decompress_pcluster fs/erofs/zdata.c:1290 [inline]
z_erofs_decompress_queue+0x338c/0x6460 fs/erofs/zdata.c:1372
z_erofs_runqueue+0x36cd/0x3830
z_erofs_read_folio+0x435/0x810 fs/erofs/zdata.c:1843
filemap_read_folio+0xce/0x370 mm/filemap.c:2323
do_read_cache_folio+0x3b4/0x11e0 mm/filemap.c:3691
read_cache_folio+0x60/0x80 mm/filemap.c:3723
erofs_bread+0x286/0x6f0 fs/erofs/data.c:46
erofs_find_target_block fs/erofs/namei.c:103 [inline]
erofs_namei+0x2fe/0x1790 fs/erofs/namei.c:177
erofs_lookup+0x100/0x3c0 fs/erofs/namei.c:206
lookup_one_qstr_excl+0x233/0x520 fs/namei.c:1609
filename_create+0x2fc/0x6d0 fs/namei.c:3876
do_mkdirat+0x69/0x800 fs/namei.c:4121
__do_sys_mkdirat fs/namei.c:4144 [inline]
__se_sys_mkdirat fs/namei.c:4142 [inline]
__x64_sys_mkdirat+0xc8/0x120 fs/namei.c:4142
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0x44/0x110 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x63/0x6b

Uninit was created at:
__alloc_pages+0x9a4/0xe00 mm/page_alloc.c:4591
alloc_pages_mpol+0x62b/0x9d0 mm/mempolicy.c:2133
alloc_pages mm/mempolicy.c:2204 [inline]
folio_alloc+0x1da/0x380 mm/mempolicy.c:2211
filemap_alloc_folio+0xa5/0x430 mm/filemap.c:974
do_read_cache_folio+0x163/0x11e0 mm/filemap.c:3655
read_cache_folio+0x60/0x80 mm/filemap.c:3723
erofs_bread+0x286/0x6f0 fs/erofs/data.c:46
erofs_find_target_block fs/erofs/namei.c:103 [inline]
erofs_namei+0x2fe/0x1790 fs/erofs/namei.c:177
erofs_lookup+0x100/0x3c0 fs/erofs/namei.c:206
lookup_one_qstr_excl+0x233/0x520 fs/namei.c:1609
filename_create+0x2fc/0x6d0 fs/namei.c:3876
do_mkdirat+0x69/0x800 fs/namei.c:4121
__do_sys_mkdirat fs/namei.c:4144 [inline]
__se_sys_mkdirat fs/namei.c:4142 [inline]
__x64_sys_mkdirat+0xc8/0x120 fs/namei.c:4142
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0x44/0x110 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x63/0x6b

CPU: 0 PID: 5477 Comm: syz-executor.0 Not tainted 6.7.0-rc7-syzkaller-00003-gfbafc3e621c3-dirty #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/17/2023
=====================================================

Tested on:

commit: fbafc3e6 Merge tag 'for_linus' of git://git.kernel.org..
git tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
console output: https://syzkaller.appspot.com/x/log.txt?x=14751455e80000
kernel config: https://syzkaller.appspot.com/x/.config?x=e0c7078a6b901aa3
dashboard link: https://syzkaller.appspot.com/bug?extid=6c746eea496f34b3161d
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
patch: https://syzkaller.appspot.com/x/patch.diff?x=128ea2a1e80000