[PATCH 11/16] fs/ntfs3: Drop suid and sgid bits as a part of fpunch

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Signed-off-by: Konstantin Komarov <almaz.alexandrovich@xxxxxxxxxxxxxxxxxxxx>
---
 fs/ntfs3/file.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/fs/ntfs3/file.c b/fs/ntfs3/file.c
index bb80ce2eec2f..0ff5d3af2889 100644
--- a/fs/ntfs3/file.c
+++ b/fs/ntfs3/file.c
@@ -498,10 +498,14 @@ static long ntfs_fallocate(struct file *file, int mode, loff_t vbo, loff_t len)
         ni_lock(ni);
         err = attr_punch_hole(ni, vbo, len, &frame_size);
         ni_unlock(ni);
+        if (!err)
+            goto ok;
+
         if (err != E_NTFS_NOTALIGNED)
             goto out;

         /* Process not aligned punch. */
+        err = 0;
         mask = frame_size - 1;
         vbo_a = (vbo + mask) & ~mask;
         end_a = end & ~mask;
@@ -524,6 +528,8 @@ static long ntfs_fallocate(struct file *file, int mode, loff_t vbo, loff_t len)
             ni_lock(ni);
             err = attr_punch_hole(ni, vbo_a, end_a - vbo_a, NULL);
             ni_unlock(ni);
+            if (err)
+                goto out;
         }
     } else if (mode & FALLOC_FL_COLLAPSE_RANGE) {
         /*
@@ -563,6 +569,8 @@ static long ntfs_fallocate(struct file *file, int mode, loff_t vbo, loff_t len)
         ni_lock(ni);
         err = attr_insert_range(ni, vbo, len);
         ni_unlock(ni);
+        if (err)
+            goto out;
     } else {
         /* Check new size. */
         u8 cluster_bits = sbi->cluster_bits;
@@ -639,6 +647,7 @@ static long ntfs_fallocate(struct file *file, int mode, loff_t vbo, loff_t len)
         }
     }

+ok:
     err = file_modified(file);
     if (err)
         goto out;
--
2.34.1





[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux