<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/fs/hfsplus/wrapper.c, branch v3.4.92</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/fs/hfsplus/wrapper.c?h=v3.4.92</id>
<link rel='self' href='https://git.amat.us/linux/atom/fs/hfsplus/wrapper.c?h=v3.4.92'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-06-22T18:36:57Z</updated>
<entry>
<title>hfsplus: fix overflow in sector calculations in hfsplus_submit_bio</title>
<updated>2012-06-22T18:36:57Z</updated>
<author>
<name>Janne Kalliomäki</name>
<email>janne@tuxera.com</email>
</author>
<published>2012-06-17T21:05:24Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=152a4f421da62406d8836aa2c9e53b7b3e405e59'/>
<id>urn:sha1:152a4f421da62406d8836aa2c9e53b7b3e405e59</id>
<content type='text'>
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 &lt;janne@tuxera.com&gt;
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>hfsplus: Fix kfree of wrong pointers in hfsplus_fill_super() error path</title>
<updated>2011-09-15T16:03:16Z</updated>
<author>
<name>Seth Forshee</name>
<email>seth.forshee@canonical.com</email>
</author>
<published>2011-09-15T14:48:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f588c960fcaa6fa8bf82930bb819c9aca4eb9347'/>
<id>urn:sha1:f588c960fcaa6fa8bf82930bb819c9aca4eb9347</id>
<content type='text'>
Commit 6596528e391a ("hfsplus: ensure bio requests are not smaller than
the hardware sectors") changed the pointers used for volume header
allocations but failed to free the correct pointers in the error path
path of hfsplus_fill_super() and hfsplus_read_wrapper.

The second hunk came from a separate patch by Pavel Ivanov.

Reported-by: Pavel Ivanov &lt;paivanof@gmail.com&gt;
Signed-off-by: Seth Forshee &lt;seth.forshee@canonical.com&gt;
Signed-off-by: Christoph Hellwig &lt;hch@tuxera.com&gt;
Cc: &lt;stable@kernel.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>hfsplus: ensure bio requests are not smaller than the hardware sectors</title>
<updated>2011-07-22T14:37:44Z</updated>
<author>
<name>Seth Forshee</name>
<email>seth.forshee@canonical.com</email>
</author>
<published>2011-07-18T15:06:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6596528e391ad978a6a120142cba97a1d7324cb6'/>
<id>urn:sha1:6596528e391ad978a6a120142cba97a1d7324cb6</id>
<content type='text'>
Currently all bio requests are 512 bytes, which may fail for media
whose physical sector size is larger than this. Ensure these
requests are not smaller than the block device logical block size.

BugLink: http://bugs.launchpad.net/bugs/734883
Signed-off-by: Seth Forshee &lt;seth.forshee@canonical.com&gt;
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
</content>
</entry>
<entry>
<title>hfsplus: lift the 2TB size limit</title>
<updated>2011-06-30T11:40:59Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@tuxera.com</email>
</author>
<published>2011-02-16T08:34:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c6d5f5fa658f2569a7baaff5acda261a1316cee9'/>
<id>urn:sha1:c6d5f5fa658f2569a7baaff5acda261a1316cee9</id>
<content type='text'>
Replace the hardcoded 2TB limit with a dynamic limit based on the block
size now that we have fixed the few overflows preventing operation
with large volumes.

Signed-off-by: Christoph Hellwig &lt;hch@tuxera.com&gt;
</content>
</entry>
<entry>
<title>hfsplus: fix overflow in hfsplus_read_wrapper</title>
<updated>2011-06-30T11:40:59Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@tuxera.com</email>
</author>
<published>2011-02-16T08:34:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4ba2d5fdcfd19de0dedf394ddc48db2f219fa89a'/>
<id>urn:sha1:4ba2d5fdcfd19de0dedf394ddc48db2f219fa89a</id>
<content type='text'>
For partitions larger than 2TB or at such an offset the hfs wrapper code
in hfsplus might overflow the range representable in a 32-bit
data type. Make sure we use a sector_t for the arithmetics leading to it.

I'm not sure this code can be readed at all as hfs itself never supported
such large volumes.

Signed-off-by: Christoph Hellwig &lt;hch@tuxera.com&gt;
</content>
</entry>
<entry>
<title>hfsplus: add missing call to bio_put()</title>
<updated>2011-06-30T11:28:32Z</updated>
<author>
<name>Seth Forshee</name>
<email>seth.forshee@canonical.com</email>
</author>
<published>2011-05-31T21:35:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=50176ddefa4a942419cb693dd2d8345bfdcde67c'/>
<id>urn:sha1:50176ddefa4a942419cb693dd2d8345bfdcde67c</id>
<content type='text'>
hfsplus leaks bio objects by failing to call bio_put() on the bios
it allocates. Add the missing call to fix the leak.

Signed-off-by: Seth Forshee &lt;seth.forshee@canonical.com&gt;
Cc: &lt;stable@kernel.org&gt; # .38.x, .39.x
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
</content>
</entry>
<entry>
<title>hfsplus: fix two memory leaks in wrapper.c</title>
<updated>2011-02-03T23:34:11Z</updated>
<author>
<name>Chuck Ebbert</name>
<email>cebbert@redhat.com</email>
</author>
<published>2011-02-02T15:55:06Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a1dbcef0172555464b5329f8ba47d43c98132dfa'/>
<id>urn:sha1:a1dbcef0172555464b5329f8ba47d43c98132dfa</id>
<content type='text'>
Signed-Off-By: Chuck Ebbert &lt;cebbert@redhat.com&gt;
Signed-off-by: Christoph Hellwig &lt;hch@tuxera.com&gt;
</content>
</entry>
<entry>
<title>hfsplus: over 80 character lines clean-up</title>
<updated>2010-12-16T17:08:45Z</updated>
<author>
<name>Anton Salikhmetov</name>
<email>alexo@tuxera.com</email>
</author>
<published>2010-12-16T16:08:38Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2753cc281c9a0e8a0a45ee2b8110866a9fe63bdd'/>
<id>urn:sha1:2753cc281c9a0e8a0a45ee2b8110866a9fe63bdd</id>
<content type='text'>
Match coding style line length limitation where checkpatch.pl
reported over-80-character-line warnings.

Signed-off-by: Anton Salikhmetov &lt;alexo@tuxera.com&gt;
Signed-off-by: Christoph Hellwig &lt;hch@tuxera.com&gt;
</content>
</entry>
<entry>
<title>hfsplus: use raw bio access for the volume headers</title>
<updated>2010-11-23T13:37:47Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@tuxera.com</email>
</author>
<published>2010-11-23T13:37:47Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=52399b171dfaea02b6944cd6feba49b624147126'/>
<id>urn:sha1:52399b171dfaea02b6944cd6feba49b624147126</id>
<content type='text'>
The hfsplus backup volume header is located two blocks from the end of
the device.  In case of device sizes that are not 4k aligned this means
we can't access it using buffer_heads when using the default 4k block
size.

Switch to using raw bios to read/write all buffer headers.  We were not
relying on any caching behaviour of the buffer heads anyway.  Additionally
always read in the backup volume header during mount to verify that we
can actually read it.

Signed-off-by: Christoph Hellwig &lt;hch@tuxera.com&gt;
</content>
</entry>
<entry>
<title>hfsplus: use atomic bitops for the superblock flags</title>
<updated>2010-10-01T03:45:20Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@tuxera.com</email>
</author>
<published>2010-10-01T03:45:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=84adede31267af37141da2b2b04293c5ea8af7ae'/>
<id>urn:sha1:84adede31267af37141da2b2b04293c5ea8af7ae</id>
<content type='text'>
The flags in the HFS+-specific superlock do get modified during runtime,
use atomic bitops to make the modifications SMP safe.

Signed-off-by: Christoph Hellwig &lt;hch@tuxera.com&gt;
</content>
</entry>
</feed>
