diff mbox series

[07/11] fs/ntfs3: Check 'folio' pointer for NULL

Message ID eb05b34a-e21c-4948-bef8-0d06fb9d7c5e@paragon-software.com (mailing list archive)
State New
Headers show
Series Bugfix and refactoring | expand

Commit Message

Konstantin Komarov April 17, 2024, 1:07 p.m. UTC
It can be NULL if bmap is called.

Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
---
  fs/ntfs3/inode.c | 17 +++++++++++------
  1 file changed, 11 insertions(+), 6 deletions(-)
diff mbox series

Patch

diff --git a/fs/ntfs3/inode.c b/fs/ntfs3/inode.c
index 85a10d4a74c4..94177c1dd818 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;
      }