Re: [syzbot] [hfs?] KMSAN: uninit-value in hfs_brec_find

From: syzbot
Date: Mon Feb 06 2023 - 07:05:55 EST


syzbot has found a reproducer for the following issue on:

HEAD commit: eda666ff2276 kmsan: silence -Wmissing-prototypes warnings
git tree: https://github.com/google/kmsan.git master
console output: https://syzkaller.appspot.com/x/log.txt?x=17bbb96b480000
kernel config: https://syzkaller.appspot.com/x/.config?x=f27365aeb365b358
dashboard link: https://syzkaller.appspot.com/bug?extid=5ce571007a695806e949
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project.git 610139d2d9ce6746b3c617fb3e2f7886272d26ff), GNU ld (GNU Binutils for Debian) 2.35.2
userspace arch: i386
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=15ac6175480000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=15e00d23480000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/fc16035efde4/disk-eda666ff.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/084efc06a321/vmlinux-eda666ff.xz
kernel image: https://storage.googleapis.com/syzbot-assets/35c07fcfcbf2/bzImage-eda666ff.xz
mounted in repro: https://storage.googleapis.com/syzbot-assets/0f9e3b43e8ac/mount_0.gz

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

WARNING: The mand mount option has been deprecated and
and is ignored by this kernel. Remove the mand
option from the mount to silence this warning.
=======================================================
hfs: keylen 9474 too large
=====================================================
BUG: KMSAN: uninit-value in hfs_brec_find+0x671/0x9b0 fs/hfs/bfind.c:141
hfs_brec_find+0x671/0x9b0 fs/hfs/bfind.c:141
hfs_brec_read+0x3b/0x190 fs/hfs/bfind.c:165
hfs_cat_find_brec+0xfb/0x450 fs/hfs/catalog.c:194
hfs_fill_super+0x1f49/0x2400 fs/hfs/super.c:419
mount_bdev+0x508/0x840 fs/super.c:1359
hfs_mount+0x49/0x60 fs/hfs/super.c:456
legacy_get_tree+0x10c/0x280 fs/fs_context.c:610
vfs_get_tree+0xa1/0x500 fs/super.c:1489
do_new_mount+0x694/0x1580 fs/namespace.c:3145
path_mount+0x71a/0x1eb0 fs/namespace.c:3475
do_mount fs/namespace.c:3488 [inline]
__do_sys_mount fs/namespace.c:3697 [inline]
__se_sys_mount+0x734/0x840 fs/namespace.c:3674
__ia32_sys_mount+0xdf/0x140 fs/namespace.c:3674
do_syscall_32_irqs_on arch/x86/entry/common.c:112 [inline]
__do_fast_syscall_32+0xa2/0x100 arch/x86/entry/common.c:178
do_fast_syscall_32+0x33/0x70 arch/x86/entry/common.c:203
do_SYSENTER_32+0x1b/0x20 arch/x86/entry/common.c:246
entry_SYSENTER_compat_after_hwframe+0x70/0x82

Local variable fd created at:
hfs_fill_super+0x5e/0x2400 fs/hfs/super.c:381
mount_bdev+0x508/0x840 fs/super.c:1359

CPU: 0 PID: 4991 Comm: syz-executor151 Not tainted 6.2.0-rc6-syzkaller-80422-geda666ff2276 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/12/2023
=====================================================