diff options
author | Chao Yu <chao@kernel.org> | 2024-04-03 17:24:20 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2024-06-12 12:39:11 +0300 |
commit | ee36ecde58a2da28a0bc97d0f4c395601330375e (patch) | |
tree | f2c9d9b776a012346f8b473708777b7495423b71 /fs/f2fs | |
parent | 754bb36731ab80a889bdd3766846b7ba67d30535 (diff) | |
download | linux-ee36ecde58a2da28a0bc97d0f4c395601330375e.tar.xz |
f2fs: fix to check pinfile flag in f2fs_move_file_range()
[ 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>
Diffstat (limited to 'fs/f2fs')
-rw-r--r-- | fs/f2fs/file.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c index 357367e2cb33..2566dc8a777d 100644 --- a/fs/f2fs/file.c +++ b/fs/f2fs/file.c @@ -2842,7 +2842,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; } |