syzbot


KMSAN: uninit-value in fat_subdirs

Status: fixed on 2022/03/08 16:11
Reported-by: syzbot+ac94ae5f68b84197f41c@syzkaller.appspotmail.com
Fix commit: 3ee859e384d4 block: Fix wrong offset in bio_truncate()
First crash: 229d, last: 229d

Sample crash report:
loop3: detected capacity change from 0 to 7
=====================================================
BUG: KMSAN: uninit-value in fat_get_short_entry fs/fat/dir.c:875 [inline]
BUG: KMSAN: uninit-value in fat_subdirs+0x24b/0x460 fs/fat/dir.c:939
 fat_get_short_entry fs/fat/dir.c:875 [inline]
 fat_subdirs+0x24b/0x460 fs/fat/dir.c:939
 fat_read_root+0x92f/0xac0 fs/fat/inode.c:1413
 fat_fill_super+0x6e5b/0x7ff0 fs/fat/inode.c:1860
 vfat_fill_super+0xa6/0xc0 fs/fat/namei_vfat.c:1051
 mount_bdev+0x626/0x920 fs/super.c:1370
 vfat_mount+0xc9/0xe0 fs/fat/namei_vfat.c:1058
 legacy_get_tree+0x163/0x2e0 fs/fs_context.c:610
 vfs_get_tree+0xd8/0x5d0 fs/super.c:1500
 do_new_mount+0x7b5/0x16f0 fs/namespace.c:2988
 path_mount+0x1021/0x28b0 fs/namespace.c:3318
 do_mount fs/namespace.c:3331 [inline]
 __do_sys_mount fs/namespace.c:3539 [inline]
 __se_sys_mount+0x8a8/0x9d0 fs/namespace.c:3516
 __ia32_sys_mount+0x157/0x1b0 fs/namespace.c:3516
 do_syscall_32_irqs_on arch/x86/entry/common.c:114 [inline]
 __do_fast_syscall_32+0x96/0xf0 arch/x86/entry/common.c:180
 do_fast_syscall_32+0x34/0x70 arch/x86/entry/common.c:205
 do_SYSENTER_32+0x1b/0x20 arch/x86/entry/common.c:248
 entry_SYSENTER_compat_after_hwframe+0x4d/0x5c

Uninit was created at:
 __alloc_pages+0xbbf/0x1090 mm/page_alloc.c:5409
 alloc_pages+0x8a5/0xb80
 folio_alloc+0x7b/0x180 mm/mempolicy.c:2201
 filemap_alloc_folio mm/filemap.c:1036 [inline]
 __filemap_get_folio+0xee2/0x1b20 mm/filemap.c:1951
 pagecache_get_page+0xc6/0x3a0 mm/folio-compat.c:125
 find_or_create_page include/linux/pagemap.h:489 [inline]
 grow_dev_page+0x1b6/0xe00 fs/buffer.c:949
 grow_buffers fs/buffer.c:1014 [inline]
 __getblk_slow fs/buffer.c:1041 [inline]
 __getblk_gfp+0x410/0x620 fs/buffer.c:1334
 __bread_gfp+0xb3/0x810 fs/buffer.c:1379
 sb_bread include/linux/buffer_head.h:303 [inline]
 fat_fill_super+0x38d2/0x7ff0 fs/fat/inode.c:1685
 vfat_fill_super+0xa6/0xc0 fs/fat/namei_vfat.c:1051
 mount_bdev+0x626/0x920 fs/super.c:1370
 vfat_mount+0xc9/0xe0 fs/fat/namei_vfat.c:1058
 legacy_get_tree+0x163/0x2e0 fs/fs_context.c:610
 vfs_get_tree+0xd8/0x5d0 fs/super.c:1500
 do_new_mount+0x7b5/0x16f0 fs/namespace.c:2988
 path_mount+0x1021/0x28b0 fs/namespace.c:3318
 do_mount fs/namespace.c:3331 [inline]
 __do_sys_mount fs/namespace.c:3539 [inline]
 __se_sys_mount+0x8a8/0x9d0 fs/namespace.c:3516
 __ia32_sys_mount+0x157/0x1b0 fs/namespace.c:3516
 do_syscall_32_irqs_on arch/x86/entry/common.c:114 [inline]
 __do_fast_syscall_32+0x96/0xf0 arch/x86/entry/common.c:180
 do_fast_syscall_32+0x34/0x70 arch/x86/entry/common.c:205
 do_SYSENTER_32+0x1b/0x20 arch/x86/entry/common.c:248
 entry_SYSENTER_compat_after_hwframe+0x4d/0x5c

CPU: 1 PID: 5570 Comm: syz-executor.3 Tainted: G        W         5.16.0-rc5-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
=====================================================

Crashes (1):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Title
ci-upstream-kmsan-gce-386 2021/12/21 16:11 https://github.com/google/kmsan.git master 81c325bbf94e a938f0b8 .config log report info KMSAN: uninit-value in fat_subdirs