From d5bfccdf38d094f2b15fae8b361d7bd47f2509d6 Mon Sep 17 00:00:00 2001 From: Christoph Hellwig Date: Mon, 3 Oct 2016 09:46:04 +1100 Subject: [PATCH] ext2: fix possible integer truncation in ext2_iomap_begin For 32-bit architectures we need to cast first_block to u64 before shifting it left. Signed-off-by: Christoph Hellwig Reported-by: Jan Kara Reviewed-by: Dave Chinner Signed-off-by: Dave Chinner --- fs/ext2/inode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/ext2/inode.c b/fs/ext2/inode.c index aae5f61f980b..c7dbb4661119 100644 --- a/fs/ext2/inode.c +++ b/fs/ext2/inode.c @@ -806,7 +806,7 @@ static int ext2_iomap_begin(struct inode *inode, loff_t offset, loff_t length, iomap->flags = 0; iomap->bdev = inode->i_sb->s_bdev; - iomap->offset = first_block << blkbits; + iomap->offset = (u64)first_block << blkbits; if (ret == 0) { iomap->type = IOMAP_HOLE;