f2fs: fix to avoid overflow when left shifting page offset
We use following method to calculate size with current page index: size = index << PAGE_SHIFT If type of index has only 32-bits size, left shifting will incur overflow, which makes result incorrect. So let's cast index with 64-bits type to avoid such issue. Signed-off-by: Chao Yu <yuchao0@huawei.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
Родитель
ba38c27eb9
Коммит
dba79f38bc
|
@ -428,8 +428,9 @@ retry_dn:
|
|||
}
|
||||
|
||||
if (!file_keep_isize(inode) &&
|
||||
(i_size_read(inode) <= (start << PAGE_SHIFT)))
|
||||
f2fs_i_size_write(inode, (start + 1) << PAGE_SHIFT);
|
||||
(i_size_read(inode) <= ((loff_t)start << PAGE_SHIFT)))
|
||||
f2fs_i_size_write(inode,
|
||||
(loff_t)(start + 1) << PAGE_SHIFT);
|
||||
|
||||
/*
|
||||
* dest is reserved block, invalidate src block
|
||||
|
|
Загрузка…
Ссылка в новой задаче