From 0a475402ec1126c8aaa4aa3e991c149ce8d29ed8 Mon Sep 17 00:00:00 2001 From: zzzzzzzzzy9 Date: Tue, 1 Jul 2025 19:10:46 +0800 Subject: [PATCH] fs/ntfs3: Check 'folio' pointer for NULL commit 6c8054d590668629bb2eb6fb4cbf22455d08ada8 upstream. It can be NULL if bmap is called. Fixes: 82cae269cfa95 ("fs/ntfs3: Add initialization of super block") Signed-off-by: Konstantin Komarov Signed-off-by: Sasha Levin Fixes: CVE-2024-38625 Signed-off-by: zzzzzzzzzy9 Reviewed-by: Zhang Run Link: https://gitee.com/anolis/embedded-kernel/pulls/983 --- fs/ntfs3/inode.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/fs/ntfs3/inode.c b/fs/ntfs3/inode.c index 34f2e16f3f5b..e9314778a9d0 100644 --- a/fs/ntfs3/inode.c +++ b/fs/ntfs3/inode.c @@ -570,13 +570,18 @@ static noinline int ntfs_get_block_vbo(struct inode *inode, u64 vbo, clear_buffer_uptodate(bh); if (is_resident(ni)) { - ni_lock(ni); - err = attr_data_read_resident(ni, &folio->page); - ni_unlock(ni); - - if (!err) - set_buffer_uptodate(bh); + bh->b_blocknr = RESIDENT_LCN; bh->b_size = block_size; + if (!folio) { + err = 0; + } else { + ni_lock(ni); + err = attr_data_read_resident(ni, &folio->page); + ni_unlock(ni); + + if (!err) + set_buffer_uptodate(bh); + } return err; } -- Gitee