hfsplus: fix overflow in sector calculations in hfsplus_submit_bio
authorJanne Kalliomäki <janne@tuxera.com>
Sun, 17 Jun 2012 21:05:24 +0000 (17:05 -0400)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 17 Jun 2012 21:39:45 +0000 (14:39 -0700)
The variable io_size was unsigned int, which caused the wrong sector number
to be calculated after aligning it. This then caused mount to fail with big
volumes, as backup volume header information was searched from a
wrong sector.

Signed-off-by: Janne Kalliomäki <janne@tuxera.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/hfsplus/wrapper.c

index 7daf4b852d1c78ca89c31d791e9eddeb9dcf1a0d..90effcccca9af4c13f6b44b7b3fe756612f9d735 100644 (file)
@@ -56,7 +56,7 @@ int hfsplus_submit_bio(struct super_block *sb, sector_t sector,
        DECLARE_COMPLETION_ONSTACK(wait);
        struct bio *bio;
        int ret = 0;
-       unsigned int io_size;
+       u64 io_size;
        loff_t start;
        int offset;