summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app-crypt/truecrypt/ChangeLog6
-rw-r--r--app-crypt/truecrypt/files/truecrypt-4.3a-2.6.24.patch46
2 files changed, 46 insertions, 6 deletions
diff --git a/app-crypt/truecrypt/ChangeLog b/app-crypt/truecrypt/ChangeLog
index 6ac38d8cd1dd..85aecdf349d5 100644
--- a/app-crypt/truecrypt/ChangeLog
+++ b/app-crypt/truecrypt/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for app-crypt/truecrypt
# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-crypt/truecrypt/ChangeLog,v 1.27 2007/12/15 18:33:50 alonbl Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-crypt/truecrypt/ChangeLog,v 1.28 2007/12/25 21:01:31 alonbl Exp $
+
+ 25 Dec 2007; Alon Bar-Lev <alonbl@gentoo.org>
+ files/truecrypt-4.3a-2.6.24.patch:
+ Modify 2.6.24 fix, bug#198394, thanks to elschner.net
15 Dec 2007; Alon Bar-Lev <alonbl@gentoo.org>
+files/truecrypt-4.3a-2.6.24.patch, truecrypt-4.3a.ebuild:
diff --git a/app-crypt/truecrypt/files/truecrypt-4.3a-2.6.24.patch b/app-crypt/truecrypt/files/truecrypt-4.3a-2.6.24.patch
index 55b0c5a1c477..eec4aa8bdb9a 100644
--- a/app-crypt/truecrypt/files/truecrypt-4.3a-2.6.24.patch
+++ b/app-crypt/truecrypt/files/truecrypt-4.3a-2.6.24.patch
@@ -1,15 +1,51 @@
---- truecrypt-4.3a-source-code.org/Linux/Kernel/Dm-target.c 2007-04-24 18:32:06.000000000 +0200
-+++ truecrypt-4.3a-source-code/Linux/Kernel/Dm-target.c 2007-12-15 18:22:39.000000000 +0100
-@@ -375,7 +375,12 @@ static void dereference_bio_ctx (struct
+diff -Nrup a/Linux/Kernel/Dm-target.c b/Linux/Kernel/Dm-target.c
+--- a/Linux/Kernel/Dm-target.c 2007-04-24 18:32:06.000000000 +0200
++++ b/Linux/Kernel/Dm-target.c 2007-12-22 15:07:56.000000000 +0100
+@@ -375,7 +375,11 @@ static void dereference_bio_ctx (struct
if (!atomic_dec_and_test (&bc->ref_count))
return;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)
bio_endio (bc->orig_bio, bc->orig_bio->bi_size, bc->error);
+#else
-+ bio_endio (bc->orig_bio, bc->orig_bio->bi_size);
++ bio_endio (bc->orig_bio, bc->error);
+#endif
-+
mempool_free (bc, tc->bio_ctx_pool);
}
+@@ -417,24 +421,35 @@ static void work_process (void *qdata)
+ }
+
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)
+ static int truecrypt_endio (struct bio *bio, unsigned int bytes_done, int error)
++#else
++static int truecrypt_endio (struct bio *bio, int error)
++#endif
+ {
+ struct bio_ctx *bc = (struct bio_ctx *) bio->bi_private;
+ struct target_ctx *tc = (struct target_ctx *) bc->target->private;
+ struct bio_vec *bv;
+ int seg_no;
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)
+ trace (1, "end: sc=%llu fl=%ld rw=%ld sz=%d ix=%hd vc=%hd dn=%d er=%d\n",
+ (unsigned long long) bio->bi_sector, bio->bi_flags, bio->bi_rw, bio->bi_size, bio->bi_idx, bio->bi_vcnt, bytes_done, error);
++#else
++ trace (1, "end: sc=%llu fl=%ld sz=%ld rw=%ld ix=%hd vc=%hd er=%d\n",
++ (unsigned long long) bio->bi_sector, bio->bi_flags, bio->bi_size, bio->bi_rw, bio->bi_idx, bio->bi_vcnt, error);
++#endif
+
+ if (error != 0)
+ bc->error = error;
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)
+ if (bio->bi_size)
+ {
+ trace (2, "Outstanding IO: %d\n", bio->bi_size);
+ return 1;
+ }
++#endif
+
+ if (bio_data_dir (bio) == READ)
+ {