]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
f2fs: fix to check pinfile flag in f2fs_move_file_range()
authorChao Yu <chao@kernel.org>
Wed, 3 Apr 2024 14:24:20 +0000 (22:24 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 16 Jun 2024 11:39:36 +0000 (13:39 +0200)
[ Upstream commit e07230da0500e0919a765037c5e81583b519be2c ]

ioctl(F2FS_IOC_MOVE_RANGE) can truncate or punch hole on pinned file,
fix to disallow it.

Fixes: 5fed0be8583f ("f2fs: do not allow partial truncation on pinned file")
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/f2fs/file.c

index 39002f3c3f8a7c8b4a02a3ec483dd3b1ecd266ba..f10156aecf425e365095168e155b81b2e30830fa 100644 (file)
@@ -2790,7 +2790,8 @@ static int f2fs_move_file_range(struct file *file_in, loff_t pos_in,
                        goto out;
        }
 
-       if (f2fs_compressed_file(src) || f2fs_compressed_file(dst)) {
+       if (f2fs_compressed_file(src) || f2fs_compressed_file(dst) ||
+               f2fs_is_pinned_file(src) || f2fs_is_pinned_file(dst)) {
                ret = -EOPNOTSUPP;
                goto out_unlock;
        }