[PATCH v1] ntfs3: Fix uninit buffer allocated by __getname()

Sidharth Seela posted 1 patch 4 months, 2 weeks ago
[PATCH v1] ntfs3: Fix uninit buffer allocated by __getname()
Posted by Sidharth Seela 4 months, 2 weeks ago
Fix uninit errors caused after buffer allocation given to 'de'; by
initializing the buffer with zeroes. The fix was found by using KMSAN.

Reported-by: syzbot+332bd4e9d148f11a87dc@syzkaller.appspotmail.com
Fixes: 78ab59fee07f2 ("fs/ntfs3: Rework file operations")
Signed-off-by: Sidharth Seela <sidharthseela@gmail.com>

--

diff --git a/fs/ntfs3/inode.c b/fs/ntfs3/inode.c
index 37cbbee7fa58..6b14c13bda68 100644
--- a/fs/ntfs3/inode.c
+++ b/fs/ntfs3/inode.c
@@ -1716,6 +1716,7 @@ int ntfs_link_inode(struct inode *inode, struct dentry *dentry)
 	de = __getname();
 	if (!de)
 		return -ENOMEM;
+	memset(de, 0, PATH_MAX);
 
 	/* Mark rw ntfs as dirty. It will be cleared at umount. */
 	ntfs_set_state(sbi, NTFS_DIRTY_DIRTY);
-- 
2.47.3
Re: [PATCH v1] ntfs3: Fix uninit buffer allocated by __getname()
Posted by Konstantin Komarov 2 months, 2 weeks ago
On 9/23/25 08:40, Sidharth Seela wrote:

> Fix uninit errors caused after buffer allocation given to 'de'; by
> initializing the buffer with zeroes. The fix was found by using KMSAN.
>
> Reported-by: syzbot+332bd4e9d148f11a87dc@syzkaller.appspotmail.com
> Fixes: 78ab59fee07f2 ("fs/ntfs3: Rework file operations")
> Signed-off-by: Sidharth Seela <sidharthseela@gmail.com>
>
> --
>
> diff --git a/fs/ntfs3/inode.c b/fs/ntfs3/inode.c
> index 37cbbee7fa58..6b14c13bda68 100644
> --- a/fs/ntfs3/inode.c
> +++ b/fs/ntfs3/inode.c
> @@ -1716,6 +1716,7 @@ int ntfs_link_inode(struct inode *inode, struct dentry *dentry)
>   	de = __getname();
>   	if (!de)
>   		return -ENOMEM;
> +	memset(de, 0, PATH_MAX);
>   
>   	/* Mark rw ntfs as dirty. It will be cleared at umount. */
>   	ntfs_set_state(sbi, NTFS_DIRTY_DIRTY);

Patch looks good — applied. Thanks.

Regards,
Konstantin