]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
f2fs: fix leakage of inmemory atomic pages
authorJaegeuk Kim <jaegeuk@kernel.org>
Thu, 22 Oct 2015 01:49:50 +0000 (18:49 -0700)
committerJaegeuk Kim <jaegeuk@kernel.org>
Thu, 22 Oct 2015 02:04:17 +0000 (19:04 -0700)
If we got failure during commit_atomic_write, abort_volatile_write will be
called, but will not drop the inmemory pages due to no FI_ATOMIC_FILE.
Actually, there is no reason to check the flag in abort_volatile_write.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/file.c

index 91c51a6d42dd55f110bffa070d0d57ae3bf92ad7..a197215ad52bf63f4a571412ffb27b0bde9f648c 100644 (file)
@@ -1443,13 +1443,9 @@ static int f2fs_ioc_abort_volatile_write(struct file *filp)
 
        f2fs_balance_fs(F2FS_I_SB(inode));
 
-       if (f2fs_is_atomic_file(inode)) {
-               clear_inode_flag(F2FS_I(inode), FI_ATOMIC_FILE);
-               commit_inmem_pages(inode, true);
-       }
-
-       if (f2fs_is_volatile_file(inode))
-               clear_inode_flag(F2FS_I(inode), FI_VOLATILE_FILE);
+       clear_inode_flag(F2FS_I(inode), FI_ATOMIC_FILE);
+       clear_inode_flag(F2FS_I(inode), FI_VOLATILE_FILE);
+       commit_inmem_pages(inode, true);
 
        mnt_drop_write_file(filp);
        return ret;