<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/md/dm-crypt.c, branch linux-2.6.23.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.23.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.23.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2008-02-08T20:01:09Z</updated>
<entry>
<title>dm crypt: use bio_add_page</title>
<updated>2008-02-08T20:01:09Z</updated>
<author>
<name>Milan Broz</name>
</author>
<published>2007-12-13T14:44:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b8d5ff3a2fc7f7d212a3edcf1d169e5be77ccaf4'/>
<id>urn:sha1:b8d5ff3a2fc7f7d212a3edcf1d169e5be77ccaf4</id>
<content type='text'>
patch 91e106259214b40e992a58fb9417da46868e19b2 in mainline.

Fix possible max_phys_segments violation in cloned dm-crypt bio.

In write operation dm-crypt needs to allocate new bio request
and run crypto operation on this clone. Cloned request has always
the same size, but number of physical segments can be increased
and violate max_phys_segments restriction.

This can lead to data corruption and serious hardware malfunction.
This was observed when using XFS over dm-crypt and at least
two HBA controller drivers (arcmsr, cciss) recently.

Fix it by using bio_add_page() call (which tests for other
restrictions too) instead of constructing own biovec.

All versions of dm-crypt are affected by this bug.

Signed-off-by: Milan Broz &lt;mbroz@redhat.com&gt;
Signed-off-by: Alasdair G Kergon &lt;agk@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>dm crypt: fix write endio</title>
<updated>2008-02-08T20:01:08Z</updated>
<author>
<name>Milan Broz</name>
</author>
<published>2007-12-13T14:43:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7a22cdb2f5ca86983f433d26a3aa9449c0671a2d'/>
<id>urn:sha1:7a22cdb2f5ca86983f433d26a3aa9449c0671a2d</id>
<content type='text'>
patch adfe47702c4726b3e045f9f83178def02833be4c in mainline.

Fix BIO_UPTODATE test for write io.

Signed-off-by: Milan Broz &lt;mbroz@redhat.com&gt;
Signed-off-by: Alasdair G Kergon &lt;agk@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>dm io: fix panic on large request</title>
<updated>2007-07-22T00:49:14Z</updated>
<author>
<name>Milan Broz</name>
</author>
<published>2007-07-21T11:37:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=80b16c192e469541263d6bfd9177662ceb632ecc'/>
<id>urn:sha1:80b16c192e469541263d6bfd9177662ceb632ecc</id>
<content type='text'>
Flush workqueue before releasing bioset and mopools in dm-crypt.  There can
be finished but not yet released request.

Call chain causing oops:
  run workqueue
    dec_pending
      bio_endio(...);
      	&lt;remove device request - remove mempool&gt;
      mempool_free(io, cc-&gt;io_pool);

This usually happens when cryptsetup create temporary
luks mapping in the beggining of crypt device activation.

When dm-core calls destructor crypt_dtr, no new request
are possible.

Signed-off-by: Milan Broz &lt;mbroz@redhat.com&gt;
Cc: Chuck Ebbert &lt;cebbert@redhat.com&gt;
Cc: Patrick McHardy &lt;kaber@trash.net&gt;
Acked-by: Alasdair G Kergon &lt;agk@redhat.com&gt;
Cc: Christophe Saout &lt;christophe@saout.de&gt;
Cc: &lt;stable@kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>dm: disable barriers</title>
<updated>2007-07-12T22:01:08Z</updated>
<author>
<name>Stefan Bader</name>
</author>
<published>2007-07-12T16:28:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=07a83c47cfc00ba5f0f090ccddd3a0703be0eec9'/>
<id>urn:sha1:07a83c47cfc00ba5f0f090ccddd3a0703be0eec9</id>
<content type='text'>
This patch causes device-mapper to reject any barrier requests.  This is done
since most of the targets won't handle this correctly anyway.  So until the
situation improves it is better to reject these requests at the first place.
Since barrier requests won't get to the targets, the checks there can be
removed.

Cc: stable@kernel.org
Signed-off-by: Stefan Bader &lt;shbader@de.ibm.com&gt;
Signed-off-by: Alasdair G Kergon &lt;agk@redhat.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>dm: use kmem_cache macro</title>
<updated>2007-07-12T22:01:08Z</updated>
<author>
<name>Alasdair G Kergon</name>
</author>
<published>2007-07-12T16:26:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=028867ac28e51afc834a5931e7545c022557eded'/>
<id>urn:sha1:028867ac28e51afc834a5931e7545c022557eded</id>
<content type='text'>
Use new KMEM_CACHE() macro and make the newly-exposed structure names more
meaningful.  Also remove some superfluous casts and inlines (let a modern
compiler be the judge).

Acked-by: Christoph Lameter &lt;clameter@sgi.com&gt;
Signed-off-by: Alasdair G Kergon &lt;agk@redhat.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>dm crypt: add null iv</title>
<updated>2007-05-09T19:30:46Z</updated>
<author>
<name>Ludwig Nussel</name>
</author>
<published>2007-05-09T09:32:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=46b477306afcd0516924b26792c7a42f4dbfa9f0'/>
<id>urn:sha1:46b477306afcd0516924b26792c7a42f4dbfa9f0</id>
<content type='text'>
Add a new IV generation method 'null' to read old filesystem images created
with SuSE's loop_fish2 module.

Signed-off-by: Ludwig Nussel &lt;ludwig.nussel@suse.de&gt;
Acked-By: Christophe Saout &lt;christophe@saout.de&gt;
Signed-off-by: Alasdair G Kergon &lt;agk@redhat.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>dm crypt: use smaller bvecs in clones</title>
<updated>2007-05-09T19:30:46Z</updated>
<author>
<name>Olaf Kirch</name>
</author>
<published>2007-05-09T09:32:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f97380bcadd6bd2e368727de4061aaba4989c426'/>
<id>urn:sha1:f97380bcadd6bd2e368727de4061aaba4989c426</id>
<content type='text'>
Allocate smaller clones

With the previous dm-crypt fixes, there is no need for the clone bios to have
the same bvec size as the original - we just need to make them big enough for
the remaining number of pages.  The only requirement is that we clear the
"out" index in convert_context, so that crypt_convert starts storing data at
the right position within the clone bio.

Signed-off-by: Olaf Kirch &lt;olaf.kirch@oracle.com&gt;
Signed-off-by: Alasdair G Kergon &lt;agk@redhat.com&gt;
Cc: Jens Axboe &lt;jens.axboe@oracle.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>dm crypt: fix remove first_clone</title>
<updated>2007-05-09T19:30:46Z</updated>
<author>
<name>Olaf Kirch</name>
</author>
<published>2007-05-09T09:32:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2f9941b6c55d70103c1bc3f2c7676acd9f20bf8a'/>
<id>urn:sha1:2f9941b6c55d70103c1bc3f2c7676acd9f20bf8a</id>
<content type='text'>
Get rid of first_clone in dm-crypt

This gets rid of first_clone, which is not really needed.  Apparently, cloned
bios used to share their bvec some time way in the past - this is no longer
the case.  Contrarily, this even hurts us if we try to create a clone off
first_clone after it has completed, and crypt_endio has destroyed its bvec.

Signed-off-by: Olaf Kirch &lt;olaf.kirch@oracle.com&gt;
Signed-off-by: Alasdair G Kergon &lt;agk@redhat.com&gt;
Cc: Jens Axboe &lt;jens.axboe@oracle.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>dm crypt: fix avoid cloned bio ref after free</title>
<updated>2007-05-09T19:30:46Z</updated>
<author>
<name>Olaf Kirch</name>
</author>
<published>2007-05-09T09:32:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=98221eb757de03d9aa6262b1eded2be708640ccc'/>
<id>urn:sha1:98221eb757de03d9aa6262b1eded2be708640ccc</id>
<content type='text'>
Do not access the bio after generic_make_request

We should never access a bio after generic_make_request - there's no guarantee
it still exists.

Signed-off-by: Olaf Kirch &lt;olaf.kirch@oracle.com&gt;
Signed-off-by: Alasdair G Kergon &lt;agk@redhat.com&gt;
Cc: Jens Axboe &lt;jens.axboe@oracle.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>dm crypt: fix call to clone_init</title>
<updated>2007-05-09T19:30:46Z</updated>
<author>
<name>Olaf Kirch</name>
</author>
<published>2007-05-09T09:32:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=027581f3515b5ec2218847dab578afa439a9d6b9'/>
<id>urn:sha1:027581f3515b5ec2218847dab578afa439a9d6b9</id>
<content type='text'>
Call clone_init early

We need to call clone_init as early as possible - at least before call
bio_put(clone) in any error path.  Otherwise, the destructor will try to
dereference bi_private, which may still be NULL.

Signed-off-by: Olaf Kirch &lt;olaf.kirch@oracle.com&gt;
Signed-off-by: Alasdair G Kergon &lt;agk@redhat.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
