diff options
| author | Matthew Wilcox (Oracle) <willy@infradead.org> | 2025-03-05 20:47:25 +0000 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2025-06-04 14:40:08 +0200 |
| commit | 15602508ad2f923e228b9521960b4addcd27d9c4 (patch) | |
| tree | cc55781c3d13f3e95522e13891a4fe0b35e72372 /fs | |
| parent | 00586b78eeb7c626a14ca13453a1631f88a7cf36 (diff) | |
| download | linux-15602508ad2f923e228b9521960b4addcd27d9c4.tar.gz linux-15602508ad2f923e228b9521960b4addcd27d9c4.tar.bz2 linux-15602508ad2f923e228b9521960b4addcd27d9c4.zip | |
orangefs: Do not truncate file size
[ Upstream commit 062e8093592fb866b8e016641a8b27feb6ac509d ]
'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>
Diffstat (limited to 'fs')
| -rw-r--r-- | fs/orangefs/inode.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/fs/orangefs/inode.c b/fs/orangefs/inode.c index b3bbb5a5787a..cc81ff6ac735 100644 --- a/fs/orangefs/inode.c +++ b/fs/orangefs/inode.c @@ -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); @@ -94,8 +94,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); |
