[Cluster-devel] [GFS2 PATCH 11/18] gfs2: use page_offset in gfs2_page_mkwrite

Andreas Gruenbacher agruenba at redhat.com
Tue Jul 9 14:06:50 UTC 2019


From: Christoph Hellwig <hch at lst.de>

Without casting page->index to a guaranteed 64-bit type, the value might be
treated as 32-bit on 32-bit platforms and thus get truncated.

Signed-off-by: Christoph Hellwig <hch at lst.de>
Signed-off-by: Andreas Gruenbacher <agruenba at redhat.com>
---
 fs/gfs2/file.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/gfs2/file.c b/fs/gfs2/file.c
index 28bdbeb11030..5d61113b3f50 100644
--- a/fs/gfs2/file.c
+++ b/fs/gfs2/file.c
@@ -408,7 +408,7 @@ static vm_fault_t gfs2_page_mkwrite(struct vm_fault *vmf)
 	struct gfs2_sbd *sdp = GFS2_SB(inode);
 	struct gfs2_alloc_parms ap = { .aflags = 0, };
 	unsigned long last_index;
-	u64 pos = page->index << PAGE_SHIFT;
+	u64 pos = page_offset(page);
 	unsigned int data_blocks, ind_blocks, rblocks;
 	struct gfs2_holder gh;
 	loff_t size;
-- 
2.20.1




More information about the Cluster-devel mailing list