diff options
Diffstat (limited to 'debian/patches/bugfix/all/hfsplus-limit-to-2tb.patch')
-rw-r--r-- | debian/patches/bugfix/all/hfsplus-limit-to-2tb.patch | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/debian/patches/bugfix/all/hfsplus-limit-to-2tb.patch b/debian/patches/bugfix/all/hfsplus-limit-to-2tb.patch deleted file mode 100644 index dfa3d98cb..000000000 --- a/debian/patches/bugfix/all/hfsplus-limit-to-2tb.patch +++ /dev/null @@ -1,35 +0,0 @@ -From: Ben Hutchings <ben@decadent.org.uk> -Subject: [PATCH] hfsplus: Refuse to mount volumes larger than 2TB - -As found in <http://bugs.debian.org/550010>, hfsplus is using type u32 -rather than sector_t for some sector number calculations. - -In particular, hfsplus_get_block() does: - - u32 ablock, dblock, mask; -... - map_bh(bh_result, sb, (dblock << HFSPLUS_SB(sb).fs_shift) + HFSPLUS_SB(sb).blockoffset + (iblock & mask)); - -I am not confident that I can find and fix all cases where a sector -number may be truncated. For now, avoid data loss by refusing to mount -HFS+ volumes with more than 2^32 sectors (2TB). - -[plus fix by Andrew Morton <akpm@linux-foundation.org>] ---- ---- a/fs/hfsplus/wrapper.c -+++ b/fs/hfsplus/wrapper.c -@@ -99,6 +99,10 @@ - - if (hfsplus_get_last_session(sb, &part_start, &part_size)) - return -EINVAL; -+ if ((u64)part_start + part_size > 0x100000000ULL) { -+ pr_err("hfs: volumes larger than 2TB are not supported yet\n"); -+ return -EINVAL; -+ } - while (1) { - bh = sb_bread512(sb, part_start + HFSPLUS_VOLHEAD_SECTOR, vhdr); - if (!bh) - --- -Ben Hutchings -Quantity is no substitute for quality, but it's the only one we've got. |