aboutsummaryrefslogtreecommitdiffstats
path: root/fs/hfsplus
diff options
context:
space:
mode:
authorJanne Kalliomäki <janne@tuxera.com>2012-06-17 17:05:24 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-06-22 11:34:14 -0700
commit1466988e8be36b25f01123798ce430176911c3c5 (patch)
tree867ee92cda90de61e0effb748a2baf3d2936f67a /fs/hfsplus
parent41a38d50056968f3032b9e683765b37b4ed5f973 (diff)
downloadkernel_samsung_smdk4412-1466988e8be36b25f01123798ce430176911c3c5.zip
kernel_samsung_smdk4412-1466988e8be36b25f01123798ce430176911c3c5.tar.gz
kernel_samsung_smdk4412-1466988e8be36b25f01123798ce430176911c3c5.tar.bz2
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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/hfsplus')
-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 7b8112da..aac1563 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;