fs/ntfs3: Unlock on error in attr_insert_range()
authorDan Carpenter <dan.carpenter@oracle.com>
Thu, 30 Jun 2022 13:10:56 +0000 (16:10 +0300)
committerKonstantin Komarov <almaz.alexandrovich@paragon-software.com>
Tue, 5 Jul 2022 13:07:53 +0000 (16:07 +0300)
This error path needs to call up_write(&ni->file.run_lock) and do some
other clean up before returning.

Fixes: aa30eccb24e5 ("fs/ntfs3: Fallocate (FALLOC_FL_INSERT_RANGE) implementation")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
fs/ntfs3/attrib.c

index 86e688b95ad5746d3228fc87dc543ce5cc13955c..3e9aefcb3e6c15078c25b59b4f92d61e7109e0fd 100644 (file)
@@ -2153,8 +2153,10 @@ int attr_insert_range(struct ntfs_inode *ni, u64 vbo, u64 bytes)
                le_b = NULL;
                attr_b = ni_find_attr(ni, NULL, &le_b, ATTR_DATA, NULL, 0, NULL,
                                      &mi_b);
-               if (!attr_b)
-                       return -ENOENT;
+               if (!attr_b) {
+                       err = -ENOENT;
+                       goto out;
+               }
                if (!attr_b->non_res) {
                        err = -EINVAL;
                        goto out;