]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commit
f2fs: convert inline_data in prior to i_size_write
authorJaegeuk Kim <jaegeuk@kernel.org>
Tue, 3 Sep 2019 02:06:26 +0000 (10:06 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Fri, 6 Sep 2019 23:18:27 +0000 (16:18 -0700)
commitcfb9a34d147b8d002d4330ddb53a3eb79565d17c
tree0fbaf1e2ee15430ea126ab6bd8db3f13629f2267
parente8c82c11c93d586d03d80305959527bcac383555
f2fs: convert inline_data in prior to i_size_write

In below call path, we change i_size before inline conversion, however,
if we failed to convert inline inode, the inode may have wrong i_size
which is larger than max inline size, result inline inode corruption.

- f2fs_setattr
 - truncate_setsize
 - f2fs_convert_inline_inode

This patch reorders truncate_setsize() and f2fs_convert_inline_inode()
to guarantee inline_data has valid i_size.

Fixes: 0cab80ee0c9e ("f2fs: fix to convert inline inode in ->setattr")
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/file.c