Fixing the bug pointed out by Andrew Morton, shift loff_t instead of sector_t since sector_t may be 32-bit. Signed-off-by: J. R. Okajima <hooanon05@xxxxxxxxxxx> --- drivers/block/loop.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/drivers/block/loop.c b/drivers/block/loop.c index fcd28a7..eaed1fa 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c @@ -1171,7 +1171,9 @@ static int loop_set_capacity(struct loop_device *lo, struct block_device *bdev) if (unlikely(err)) goto out; sec = get_capacity(lo->lo_disk); - sz = sec << 9; + /* the width of sector_t may be narrow for bit-shift */ + sz = sec; + sz <<= 9; mutex_lock(&bdev->bd_mutex); bd_set_size(bdev, sz); mutex_unlock(&bdev->bd_mutex); -- 1.5.5.4.dirty -- To unsubscribe from this list: send the line "unsubscribe util-linux-ng" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html