From: Chris Wright Date: Sat, 2 Dec 2006 03:53:59 +0000 (-0800) Subject: dm crypt over RAID5 fix from Christophe Saout for 2.6.18 X-Git-Tag: v2.6.19.1~17 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=419e9175fea938067e481367cf323dcf8728dd04;p=thirdparty%2Fkernel%2Fstable-queue.git dm crypt over RAID5 fix from Christophe Saout for 2.6.18 --- diff --git a/queue-2.6.18/dm-crypt-fix-data-corruption-with-dm-crypt-over-raid5.patch b/queue-2.6.18/dm-crypt-fix-data-corruption-with-dm-crypt-over-raid5.patch new file mode 100644 index 00000000000..6e04469da13 --- /dev/null +++ b/queue-2.6.18/dm-crypt-fix-data-corruption-with-dm-crypt-over-raid5.patch @@ -0,0 +1,37 @@ +From linux-kernel-owner+chrisw=40sous-sol.org-S1162719AbWLBC2Z@vger.kernel.org Fri Dec 1 18:36:19 2006 +Date: Sat, 02 Dec 2006 03:27:56 +0100 +From: Christophe Saout +To: dm-crypt@saout.de, Andrey , Andrew Morton , agk@redhat.com, Neil Brown , Jens Axboe , Chris Wright , stable@kernel.org +Subject: dm crypt: Fix data corruption with dm-crypt over RAID5 + +Fix corruption issue with dm-crypt on top of software raid5. Cancelled +readahead bio's that report no error, just have BIO_UPTODATE cleared +were reported as successful reads to the higher layers (and leaving +random content in the buffer cache). Already fixed in 2.6.19. + +Signed-off-by: Christophe Saout +Signed-off-by: Chris Wright +--- + drivers/md/dm-crypt.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +--- linux-2.6.18.5.orig/drivers/md/dm-crypt.c ++++ linux-2.6.18.5/drivers/md/dm-crypt.c +@@ -717,13 +717,15 @@ static int crypt_endio(struct bio *bio, + if (bio->bi_size) + return 1; + ++ if (!bio_flagged(bio, BIO_UPTODATE) && !error) ++ error = -EIO; ++ + bio_put(bio); + + /* + * successful reads are decrypted by the worker thread + */ +- if ((bio_data_dir(bio) == READ) +- && bio_flagged(bio, BIO_UPTODATE)) { ++ if (bio_data_dir(io->bio) == READ && !error) { + kcryptd_queue_io(io); + return 0; + } diff --git a/queue-2.6.18/series b/queue-2.6.18/series index 6e0bbc915ae..a263fbf59ee 100644 --- a/queue-2.6.18/series +++ b/queue-2.6.18/series @@ -4,3 +4,4 @@ ebtables-verify-that-ebt_entries-have-zero-distinguisher.patch ebtables-deal-with-the-worst-case-behaviour-in-loop-checks.patch ebtables-prevent-wraparounds-in-checks-for-entry-components-sizes.patch net_sched-policer-restore-compatibility-with-old-iproute-binaries.patch +dm-crypt-fix-data-corruption-with-dm-crypt-over-raid5.patch