diff options
author | Konstantin Komarov <almaz.alexandrovich@paragon-software.com> | 2024-04-16 09:54:34 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2024-06-12 12:39:29 +0300 |
commit | ff1068929459347f9e47f8d14c409dcf938c2641 (patch) | |
tree | 99a7970cb798d82eecf4d38a47b4368ccb27056c /fs/ntfs3 | |
parent | 742c2187b9875b27cf1514390391a245a64b06df (diff) | |
download | linux-ff1068929459347f9e47f8d14c409dcf938c2641.tar.xz |
fs/ntfs3: Check 'folio' pointer for NULL
[ Upstream commit 1cd6c96219c429ebcfa8e79a865277376c563803 ]
It can be NULL if bmap is called.
Fixes: 82cae269cfa95 ("fs/ntfs3: Add initialization of super block")
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'fs/ntfs3')
-rw-r--r-- | fs/ntfs3/inode.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/fs/ntfs3/inode.c b/fs/ntfs3/inode.c index ba5a39a2f957..90d4e9a9859e 100644 --- a/fs/ntfs3/inode.c +++ b/fs/ntfs3/inode.c @@ -577,13 +577,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; } |