[syzbot] [ntfs3?] KMSAN: uninit-value in ntfs_read_hdr (3)

5 views
Skip to first unread message

syzbot

unread,
Sep 17, 2025, 6:55:32 PM (2 days ago) Sep 17
to almaz.ale...@paragon-software.com, linux-...@vger.kernel.org, nt...@lists.linux.dev, syzkall...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 5aca7966d2a7 Merge tag 'perf-tools-fixes-for-v6.17-2025-09..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=12998c7c580000
kernel config: https://syzkaller.appspot.com/x/.config?x=1b093ccee5a9e08c
dashboard link: https://syzkaller.appspot.com/bug?extid=332bd4e9d148f11a87dc
compiler: Debian clang version 20.1.8 (++20250708063551+0c9f909b7976-1~exp1~20250708183702.136), Debian LLD 20.1.8
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=14ccc534580000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=16998c7c580000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/7dcf9f15bc6a/disk-5aca7966.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/8836a30085d9/vmlinux-5aca7966.xz
kernel image: https://storage.googleapis.com/syzbot-assets/b00f10dc0558/bzImage-5aca7966.xz
mounted in repro: https://storage.googleapis.com/syzbot-assets/78b7a2febda1/mount_0.gz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+332bd4...@syzkaller.appspotmail.com

=====================================================
BUG: KMSAN: uninit-value in ntfs_dir_emit fs/ntfs3/dir.c:335 [inline]
BUG: KMSAN: uninit-value in ntfs_read_hdr+0xfcc/0x13e0 fs/ntfs3/dir.c:385
ntfs_dir_emit fs/ntfs3/dir.c:335 [inline]
ntfs_read_hdr+0xfcc/0x13e0 fs/ntfs3/dir.c:385
ntfs_readdir+0xf21/0x1a30 fs/ntfs3/dir.c:496
iterate_dir+0x452/0x620 fs/readdir.c:108
__do_sys_getdents64 fs/readdir.c:410 [inline]
__se_sys_getdents64+0x17e/0x550 fs/readdir.c:396
__x64_sys_getdents64+0x97/0xe0 fs/readdir.c:396
x64_sys_call+0x3a14/0x3e20 arch/x86/include/generated/asm/syscalls_64.h:218
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xd9/0x210 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f

Uninit was stored to memory at:
ntfs_write_bh+0x6ae/0xe90 fs/ntfs3/fsntfs.c:1430
indx_write fs/ntfs3/index.c:1027 [inline]
indx_insert_into_buffer+0x287/0x2010 fs/ntfs3/index.c:1809
indx_insert_entry+0xcde/0x1050 fs/ntfs3/index.c:1986
ni_add_name+0xef7/0x11e0 fs/ntfs3/frecord.c:2995
ntfs_link_inode+0x221/0x350 fs/ntfs3/inode.c:1728
ntfs_link+0x20e/0x500 fs/ntfs3/namei.c:146
vfs_link+0x8eb/0xb30 fs/namei.c:4854
do_linkat+0x4af/0x1040 fs/namei.c:4924
__do_sys_link fs/namei.c:4958 [inline]
__se_sys_link fs/namei.c:4956 [inline]
__x64_sys_link+0xd7/0x140 fs/namei.c:4956
x64_sys_call+0x162f/0x3e20 arch/x86/include/generated/asm/syscalls_64.h:87
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xd9/0x210 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f

Uninit was stored to memory at:
hdr_insert_de+0x4c8/0x550 fs/ntfs3/index.c:838
indx_insert_into_buffer+0x1b6/0x2010 fs/ntfs3/index.c:1805
indx_insert_entry+0xcde/0x1050 fs/ntfs3/index.c:1986
ni_add_name+0xef7/0x11e0 fs/ntfs3/frecord.c:2995
ntfs_link_inode+0x221/0x350 fs/ntfs3/inode.c:1728
ntfs_link+0x20e/0x500 fs/ntfs3/namei.c:146
vfs_link+0x8eb/0xb30 fs/namei.c:4854
do_linkat+0x4af/0x1040 fs/namei.c:4924
__do_sys_link fs/namei.c:4958 [inline]
__se_sys_link fs/namei.c:4956 [inline]
__x64_sys_link+0xd7/0x140 fs/namei.c:4956
x64_sys_call+0x162f/0x3e20 arch/x86/include/generated/asm/syscalls_64.h:87
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xd9/0x210 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f

Uninit was created at:
slab_post_alloc_hook mm/slub.c:4197 [inline]
slab_alloc_node mm/slub.c:4240 [inline]
kmem_cache_alloc_noprof+0x81b/0xec0 mm/slub.c:4247
ntfs_link_inode+0x90/0x350 fs/ntfs3/inode.c:1716
ntfs_link+0x20e/0x500 fs/ntfs3/namei.c:146
vfs_link+0x8eb/0xb30 fs/namei.c:4854
do_linkat+0x4af/0x1040 fs/namei.c:4924
__do_sys_link fs/namei.c:4958 [inline]
__se_sys_link fs/namei.c:4956 [inline]
__x64_sys_link+0xd7/0x140 fs/namei.c:4956
x64_sys_call+0x162f/0x3e20 arch/x86/include/generated/asm/syscalls_64.h:87
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xd9/0x210 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f

CPU: 0 UID: 0 PID: 5963 Comm: syz-executor Not tainted syzkaller #0 PREEMPT(none)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/18/2025
=====================================================


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzk...@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup

syzbot

unread,
Sep 18, 2025, 3:35:08 PM (2 days ago) Sep 18
to linux-...@vger.kernel.org, syzkall...@googlegroups.com
For archival purposes, forwarding an incoming command email to
linux-...@vger.kernel.org, syzkall...@googlegroups.com.

***

Subject: Re: [syzbot] [ntfs3?] KMSAN: uninit-value in ntfs_read_hdr (3)
Author: sidhar...@gmail.com

Signed-off-by: Sidharth Seela <sidhar...@gmail.com>
Reported-by: syzbot+332bd4...@syzkaller.appspotmail.com

#syz test
diff --git a/fs/ntfs3/index.c b/fs/ntfs3/index.c
index 1bf2a6593dec..3c44af1af9a0 100644
--- a/fs/ntfs3/index.c
+++ b/fs/ntfs3/index.c
@@ -718,7 +718,7 @@ static struct NTFS_DE *hdr_find_e(const struct ntfs_index *indx,
const struct INDEX_HDR *hdr, const void *key,
size_t key_len, const void *ctx, int *diff)
{
- struct NTFS_DE *e, *found = NULL;
+ struct NTFS_DE *e = NULL, *found = NULL;
NTFS_CMP_FUNC cmp = indx->cmp;
int min_idx = 0, mid_idx, max_idx = 0;
int diff2;
--
2.47.3

syzbot

unread,
Sep 18, 2025, 3:56:04 PM (2 days ago) Sep 18
to linux-...@vger.kernel.org, sidhar...@gmail.com, syzkall...@googlegroups.com
Hello,

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

=====================================================
BUG: KMSAN: uninit-value in ntfs_dir_emit fs/ntfs3/dir.c:335 [inline]
BUG: KMSAN: uninit-value in ntfs_read_hdr+0xfcc/0x13e0 fs/ntfs3/dir.c:385
ntfs_dir_emit fs/ntfs3/dir.c:335 [inline]
ntfs_read_hdr+0xfcc/0x13e0 fs/ntfs3/dir.c:385
ntfs_readdir+0xf21/0x1a30 fs/ntfs3/dir.c:496
iterate_dir+0x452/0x620 fs/readdir.c:108
__do_sys_getdents64 fs/readdir.c:410 [inline]
__se_sys_getdents64+0x17e/0x550 fs/readdir.c:396
__x64_sys_getdents64+0x97/0xe0 fs/readdir.c:396
x64_sys_call+0x3a14/0x3e20 arch/x86/include/generated/asm/syscalls_64.h:218
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xd9/0x210 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f

Uninit was created at:
slab_post_alloc_hook mm/slub.c:4197 [inline]
slab_alloc_node mm/slub.c:4240 [inline]
kmem_cache_alloc_noprof+0x81b/0xec0 mm/slub.c:4247
ntfs_lookup+0x60/0x410 fs/ntfs3/namei.c:71
lookup_one_qstr_excl+0x23f/0x7a0 fs/namei.c:1697
filename_create+0x2cb/0x590 fs/namei.c:4140
do_linkat+0x1fb/0x1040 fs/namei.c:4908
__do_sys_link fs/namei.c:4958 [inline]
__se_sys_link fs/namei.c:4956 [inline]
__x64_sys_link+0xd7/0x140 fs/namei.c:4956
x64_sys_call+0x162f/0x3e20 arch/x86/include/generated/asm/syscalls_64.h:87
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xd9/0x210 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f

CPU: 1 UID: 0 PID: 6379 Comm: syz-executor Not tainted syzkaller #0 PREEMPT(none)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/18/2025
=====================================================


Tested on:

commit: cbf658dd Merge tag 'net-6.17-rc7' of git://git.kernel...
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=1430c0e2580000
kernel config: https://syzkaller.appspot.com/x/.config?x=1b093ccee5a9e08c
dashboard link: https://syzkaller.appspot.com/bug?extid=332bd4e9d148f11a87dc
compiler: Debian clang version 20.1.8 (++20250708063551+0c9f909b7976-1~exp1~20250708183702.136), Debian LLD 20.1.8
patch: https://syzkaller.appspot.com/x/patch.diff?x=11383f62580000

Reply all
Reply to author
Forward
0 new messages