[PATCH 4/7] ocfs2: Promote to unsigned long long before shifting

From: Matthew Wilcox (Oracle)
Date: Sun Oct 04 2020 - 14:04:52 EST


On 32-bit systems, this shift will overflow for files larger than 4GB.

Cc: stable@xxxxxxxxxxxxxxx
Fixes: 35edec1d52c0 ("ocfs2: update truncate handling of partial clusters")
Signed-off-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx>
---
fs/ocfs2/alloc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/ocfs2/alloc.c b/fs/ocfs2/alloc.c
index 4c1b90442d6f..26eff79ecb50 100644
--- a/fs/ocfs2/alloc.c
+++ b/fs/ocfs2/alloc.c
@@ -6867,7 +6867,7 @@ static void ocfs2_zero_cluster_pages(struct inode *inode, loff_t start,
ocfs2_map_and_dirty_page(inode, handle, from, to, page, 1,
&phys);

- start = (page->index + 1) << PAGE_SHIFT;
+ start = (page->index + 1ULL) << PAGE_SHIFT;
}
out:
if (pages)
--
2.28.0