]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
f2fs: fix to avoid overflow while left shift operation
authorChao Yu <chao@kernel.org>
Fri, 14 Nov 2025 06:47:40 +0000 (14:47 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 24 Nov 2025 09:35:56 +0000 (10:35 +0100)
[ Upstream commit 0fe1c6bec54ea68ed8c987b3890f2296364e77bb ]

Should cast type of folio->index from pgoff_t to loff_t to avoid overflow
while left shift operation.

Fixes: 3265d3db1f16 ("f2fs: support partial truncation on compressed inode")
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
[ Modification: Using rpages[i]->index instead of folio->index due to
it was changed since commit:1cda5bc0b2fe ("f2fs: Use a folio in
f2fs_truncate_partial_cluster()") on 6.14 ]
Signed-off-by: Rajani Kantha <681739313@139.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/f2fs/compress.c

index b05bb7bfa14c5ddfbf7c26160c618414db544297..fcd21bb060cd42530644cc4da674e309dde467d9 100644 (file)
@@ -1236,7 +1236,7 @@ int f2fs_truncate_partial_cluster(struct inode *inode, u64 from, bool lock)
                int i;
 
                for (i = cluster_size - 1; i >= 0; i--) {
-                       loff_t start = rpages[i]->index << PAGE_SHIFT;
+                       loff_t start = (loff_t)rpages[i]->index << PAGE_SHIFT;
 
                        if (from <= start) {
                                zero_user_segment(rpages[i], 0, PAGE_SIZE);