fs/ntfs3: Check 'folio' pointer for NULL
authorKonstantin Komarov <almaz.alexandrovich@paragon-software.com>
Tue, 16 Apr 2024 06:54:34 +0000 (09:54 +0300)
committerKonstantin Komarov <almaz.alexandrovich@paragon-software.com>
Tue, 23 Apr 2024 06:34:23 +0000 (09:34 +0300)
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>
fs/ntfs3/inode.c

index 05f1690..502a527 100644 (file)
@@ -571,13 +571,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;
        }