summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJanne Kalliomäki <janne@tuxera.com>2012-06-17 17:05:24 -0400
committerBen Hutchings <ben@decadent.org.uk>2012-08-19 18:15:27 +0100
commit0a417591d73ccd0ad89f70300fdb4bd32a566f65 (patch)
tree2c73f5fe74fa98f3b0ff0e46360c3d7bf4616311
parent4fc6a970e371907943871c1b51ef5a064d0bd02d (diff)
downloadlwn-0a417591d73ccd0ad89f70300fdb4bd32a566f65.tar.gz
lwn-0a417591d73ccd0ad89f70300fdb4bd32a566f65.zip
hfsplus: fix overflow in sector calculations in hfsplus_submit_bio
commit a6dc8c04218eb752ff79cdc24a995cf51866caed upstream. 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> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
-rw-r--r--fs/hfsplus/wrapper.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/hfsplus/wrapper.c b/fs/hfsplus/wrapper.c
index 7daf4b852d1c..90effcccca9a 100644
--- a/fs/hfsplus/wrapper.c
+++ b/fs/hfsplus/wrapper.c
@@ -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;