orangefs: Do not truncate file size

[ Upstream commit 062e809359 ]

'len' is used to store the result of i_size_read(), so making 'len'
a size_t results in truncation to 4GiB on 32-bit systems.

Signed-off-by: "Matthew Wilcox (Oracle)" <willy@infradead.org>
Link: https://lore.kernel.org/r/20250305204734.1475264-2-willy@infradead.org
Tested-by: Mike Marshall <hubcap@omnibond.com>
Signed-off-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 121f0335d91e46369bf55b5da4167d82b099a166)
This commit is contained in:
Matthew Wilcox (Oracle) 2025-03-05 20:47:25 +00:00 committed by Wentao Guan
parent a33655c135
commit e965f95569
1 changed files with 3 additions and 4 deletions

View File

@ -23,9 +23,9 @@ static int orangefs_writepage_locked(struct page *page,
struct orangefs_write_range *wr = NULL;
struct iov_iter iter;
struct bio_vec bv;
size_t len, wlen;
size_t wlen;
ssize_t ret;
loff_t off;
loff_t len, off;
set_page_writeback(page);
@ -92,8 +92,7 @@ static int orangefs_writepages_work(struct orangefs_writepages *ow,
struct orangefs_write_range *wrp, wr;
struct iov_iter iter;
ssize_t ret;
size_t len;
loff_t off;
loff_t len, off;
int i;
len = i_size_read(inode);