From 63ef9f8db5b4717cecc83ddc5f7a0975c20006d2 Mon Sep 17 00:00:00 2001 From: Benjamin Schieder Date: Mon, 4 Apr 2005 09:27:45 +0000 Subject: [PATCH] Benjamin Schieder: update loop-aes (3.0b) [2005031413584625975] (https://www.rocklinux.net/submaster) git-svn-id: http://www.rocklinux.org/svn/rock-linux/trunk@5817 c5f82cb5-29bc-0310-9cd0-bff59a50e3bc --- .../loop-aes/linux26_cryptoloop.diff | 196 ++++++++---------- package/blindcoder/loop-aes/loop-aes.desc | 8 +- 2 files changed, 92 insertions(+), 112 deletions(-) diff --git a/package/blindcoder/loop-aes/linux26_cryptoloop.diff b/package/blindcoder/loop-aes/linux26_cryptoloop.diff index 795c80bf1..6c8f751c8 100644 --- a/package/blindcoder/loop-aes/linux26_cryptoloop.diff +++ b/package/blindcoder/loop-aes/linux26_cryptoloop.diff @@ -1,25 +1,6 @@ -# --- ROCK-COPYRIGHT-NOTE-BEGIN --- -# -# This copyright note is auto-generated by ./scripts/Create-CopyPatch. -# Please add additional copyright information _after_ the line containing -# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by -# the ./scripts/Create-CopyPatch script. Do not edit this copyright text! -# -# ROCK Linux: rock-src/package/blindcoder/loop-aes/linux26_cryptoloop.diff -# ROCK Linux is Copyright (C) 1998 - 2005 Clifford Wolf -# -# This patch file is dual-licensed. It is available under the license the -# patched project is licensed under, as long as it is an OpenSource license -# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms -# of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. -# -# --- ROCK-COPYRIGHT-NOTE-END --- - -diff -pruN linux-2.6.9_orig/drivers/block/Kconfig linux-2.6.9/drivers/block/Kconfig ---- linux-2.6.9_orig/drivers/block/Kconfig 2004-10-18 23:53:43.000000000 +0200 -+++ linux-2.6.9/drivers/block/Kconfig 2005-01-11 09:27:53.485820920 +0100 +diff -pruN linux-2.6.10/drivers/block/Kconfig linux-2.6.10_loopaes/drivers/block/Kconfig +--- linux-2.6.10/drivers/block/Kconfig 2004-12-24 22:34:26.000000000 +0100 ++++ linux-2.6.10_loopaes/drivers/block/Kconfig 2005-02-22 08:28:10.545741240 +0100 @@ -235,14 +235,6 @@ config BLK_DEV_LOOP bits of, say, a sound file). This is also safe if the file resides on a remote file server. @@ -71,9 +52,9 @@ diff -pruN linux-2.6.9_orig/drivers/block/Kconfig linux-2.6.9/drivers/block/Kcon config BLK_DEV_NBD tristate "Network block device support" -diff -pruN linux-2.6.9_orig/drivers/block/Makefile linux-2.6.9/drivers/block/Makefile ---- linux-2.6.9_orig/drivers/block/Makefile 2004-10-18 23:54:55.000000000 +0200 -+++ linux-2.6.9/drivers/block/Makefile 2005-01-11 09:27:53.486820768 +0100 +diff -pruN linux-2.6.10/drivers/block/Makefile linux-2.6.10_loopaes/drivers/block/Makefile +--- linux-2.6.10/drivers/block/Makefile 2004-12-24 22:35:24.000000000 +0100 ++++ linux-2.6.10_loopaes/drivers/block/Makefile 2005-02-22 08:28:10.545741240 +0100 @@ -1,6 +1,9 @@ # # Makefile for the kernel block device drivers. @@ -84,9 +65,9 @@ diff -pruN linux-2.6.9_orig/drivers/block/Makefile linux-2.6.9/drivers/block/Mak # 12 June 2000, Christoph Hellwig # Rewritten to use lists instead of if-statements. # -diff -pruN linux-2.6.9_orig/drivers/block/loop.c linux-2.6.9/drivers/block/loop.c ---- linux-2.6.9_orig/drivers/block/loop.c 2004-10-18 23:54:32.000000000 +0200 -+++ linux-2.6.9/drivers/block/loop.c 2005-01-11 09:27:53.491820008 +0100 +diff -pruN linux-2.6.10/drivers/block/loop.c linux-2.6.10_loopaes/drivers/block/loop.c +--- linux-2.6.10/drivers/block/loop.c 2004-12-24 22:34:58.000000000 +0100 ++++ linux-2.6.10_loopaes/drivers/block/loop.c 2005-02-22 08:28:10.550740480 +0100 @@ -39,18 +39,46 @@ * Support up to 256 loop devices * Heinz Mauelshagen , Feb 2002 @@ -127,8 +108,7 @@ diff -pruN linux-2.6.9_orig/drivers/block/loop.c linux-2.6.9/drivers/block/loop. +#include #include #include -- -+#include + #include #include #include #include @@ -697,9 +677,7 @@ diff -pruN linux-2.6.9_orig/drivers/block/loop.c linux-2.6.9/drivers/block/loop. -lo_send(struct loop_device *lo, struct bio *bio, int bsize, loff_t pos) +/* this function exists for compatibility with old external cipher modules */ +void loop_compute_md5_iv(sector_t devSect, u_int32_t *ivout, u_int32_t *data) - { -- struct bio_vec *bvec; -- int i, ret = 0; ++{ + ivout[0] = 0x67452301; + ivout[1] = 0xefcdab89; + ivout[2] = 0x98badcfe; @@ -861,12 +839,11 @@ diff -pruN linux-2.6.9_orig/drivers/block/loop.c linux-2.6.9/drivers/block/loop. +#endif + return(0); +} - -- bio_for_each_segment(bvec, bio, i) { -- ret = do_lo_send(lo, bvec, bsize, pos); -- if (ret < 0) ++ +static int keyClean_aes(struct loop_device *lo) -+{ + { +- struct bio_vec *bvec; +- int i, ret = 0; + if(lo->key_data) { + clearAndFreeMultiKey((AESmultiKey *)lo->key_data); + lo->key_data = 0; @@ -890,7 +867,10 @@ diff -pruN linux-2.6.9_orig/drivers/block/loop.c linux-2.6.9/drivers/block/loop. + } + return err; +} -+ + +- bio_for_each_segment(bvec, bio, i) { +- ret = do_lo_send(lo, bvec, bsize, pos); +- if (ret < 0) +static struct loop_func_table funcs_aes = { + number: 16, /* 16 == AES */ + transfer: transfer_aes, @@ -1025,14 +1005,15 @@ diff -pruN linux-2.6.9_orig/drivers/block/loop.c linux-2.6.9/drivers/block/loop. + atomic_set(&bio->bi_cnt, 1); + bio->bi_next = NULL; + bio_put(bio); -+ } + } +} + +static int loop_prealloc_init(struct loop_device *lo, int y) +{ + struct bio *bio; + int x; -+ + +- flush_dcache_page(p->page); + if(!y) { + y = lo_prealloc[0]; + for (x = 1; x < (sizeof(lo_prealloc) / sizeof(int)); x += 2) { @@ -1043,7 +1024,11 @@ diff -pruN linux-2.6.9_orig/drivers/block/loop.c linux-2.6.9/drivers/block/loop. + } + } + lo->lo_bio_flsh = (y * 3) / 4; -+ + +- desc->count = count - size; +- desc->written += size; +- p->offset += size; +- return size; + for (x = 0; x < y; x++) { + bio = bio_alloc(GFP_KERNEL, 1); + if (!bio) { @@ -1071,37 +1056,14 @@ diff -pruN linux-2.6.9_orig/drivers/block/loop.c linux-2.6.9/drivers/block/loop. + bio->bi_vcnt = 1; + bio->bi_next = lo->lo_bio_free1; + lo->lo_bio_free1 = bio; - } -+ return 0; -+} - -- flush_dcache_page(p->page); -+static void loop_add_queue_last(struct loop_device *lo, struct bio *bio, struct bio **q) -+{ -+ unsigned long flags; - -- desc->count = count - size; -- desc->written += size; -- p->offset += size; -- return size; -+ spin_lock_irqsave(&lo->lo_lock, flags); -+ if (*q) { -+ bio->bi_next = (*q)->bi_next; -+ (*q)->bi_next = bio; -+ } else { -+ bio->bi_next = bio; + } -+ *q = bio; -+ spin_unlock_irqrestore(&lo->lo_lock, flags); -+ -+ if (waitqueue_active(&lo->lo_bio_wait)) -+ wake_up_interruptible(&lo->lo_bio_wait); ++ return 0; } -static int -do_lo_receive(struct loop_device *lo, - struct bio_vec *bvec, int bsize, loff_t pos) -+static void loop_add_queue_first(struct loop_device *lo, struct bio *bio, struct bio **q) ++static void loop_add_queue_last(struct loop_device *lo, struct bio *bio, struct bio **q) { - struct lo_read_data cookie; - struct file *file; @@ -1115,30 +1077,48 @@ diff -pruN linux-2.6.9_orig/drivers/block/loop.c linux-2.6.9/drivers/block/loop. - retval = file->f_op->sendfile(file, &pos, bvec->bv_len, - lo_read_actor, &cookie); - return (retval < 0)? retval: 0; -+ spin_lock_irq(&lo->lo_lock); ++ unsigned long flags; ++ ++ spin_lock_irqsave(&lo->lo_lock, flags); + if (*q) { + bio->bi_next = (*q)->bi_next; + (*q)->bi_next = bio; + } else { + bio->bi_next = bio; -+ *q = bio; + } -+ spin_unlock_irq(&lo->lo_lock); ++ *q = bio; ++ spin_unlock_irqrestore(&lo->lo_lock, flags); ++ ++ if (waitqueue_active(&lo->lo_bio_wait)) ++ wake_up_interruptible(&lo->lo_bio_wait); } -static int -lo_receive(struct loop_device *lo, struct bio *bio, int bsize, loff_t pos) -+static struct bio *loop_get_bio(struct loop_device *lo, int *list_nr) ++static void loop_add_queue_first(struct loop_device *lo, struct bio *bio, struct bio **q) { - struct bio_vec *bvec; - int i, ret = 0; -+ struct bio *bio = NULL, *last; ++ spin_lock_irq(&lo->lo_lock); ++ if (*q) { ++ bio->bi_next = (*q)->bi_next; ++ (*q)->bi_next = bio; ++ } else { ++ bio->bi_next = bio; ++ *q = bio; ++ } ++ spin_unlock_irq(&lo->lo_lock); ++} - bio_for_each_segment(bvec, bio, i) { - ret = do_lo_receive(lo, bvec, bsize, pos); - if (ret < 0) - break; - pos += bvec->bv_len; ++static struct bio *loop_get_bio(struct loop_device *lo, int *list_nr) ++{ ++ struct bio *bio = NULL, *last; ++ + spin_lock_irq(&lo->lo_lock); + if ((last = lo->lo_bio_que0)) { + bio = last->bi_next; @@ -2170,9 +2150,9 @@ diff -pruN linux-2.6.9_orig/drivers/block/loop.c linux-2.6.9/drivers/block/loop. + } else goto out_putf; - } -- -- size = get_loop_size(lo, file); +- size = get_loop_size(lo, file); +- - if ((loff_t)(sector_t)size != size) { - error = -EFBIG; - goto out_putf; @@ -2665,7 +2645,7 @@ diff -pruN linux-2.6.9_orig/drivers/block/loop.c linux-2.6.9/drivers/block/loop. /* * And now the modules code and kernel interface. */ --MODULE_PARM(max_loop, "i"); +-module_param(max_loop, int, 0); -MODULE_PARM_DESC(max_loop, "Maximum number of loop devices (1-256)"); MODULE_LICENSE("GPL"); MODULE_ALIAS_BLOCKDEV_MAJOR(LOOP_MAJOR); @@ -2859,9 +2839,9 @@ diff -pruN linux-2.6.9_orig/drivers/block/loop.c linux-2.6.9/drivers/block/loop. -__setup("max_loop=", max_loop_setup); +EXPORT_SYMBOL(loop_add_keyscrub_fn); #endif -diff -pruN linux-2.6.9_orig/drivers/misc/Makefile linux-2.6.9/drivers/misc/Makefile ---- linux-2.6.9_orig/drivers/misc/Makefile 2004-10-18 23:55:24.000000000 +0200 -+++ linux-2.6.9/drivers/misc/Makefile 2005-01-11 09:27:53.491820008 +0100 +diff -pruN linux-2.6.10/drivers/misc/Makefile linux-2.6.10_loopaes/drivers/misc/Makefile +--- linux-2.6.10/drivers/misc/Makefile 2004-12-24 22:35:28.000000000 +0100 ++++ linux-2.6.10_loopaes/drivers/misc/Makefile 2005-02-22 08:28:10.550740480 +0100 @@ -4,3 +4,24 @@ obj- := misc.o # Dummy rule to force built-in.o to be made @@ -2887,9 +2867,9 @@ diff -pruN linux-2.6.9_orig/drivers/misc/Makefile linux-2.6.9/drivers/misc/Makef +endif +endif +endif -diff -pruN linux-2.6.9_orig/drivers/misc/aes-amd64.S linux-2.6.9/drivers/misc/aes-amd64.S ---- linux-2.6.9_orig/drivers/misc/aes-amd64.S 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.9/drivers/misc/aes-amd64.S 2005-01-11 09:27:53.493819704 +0100 +diff -pruN linux-2.6.10/drivers/misc/aes-amd64.S linux-2.6.10_loopaes/drivers/misc/aes-amd64.S +--- linux-2.6.10/drivers/misc/aes-amd64.S 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.10_loopaes/drivers/misc/aes-amd64.S 2005-02-22 08:28:10.553740024 +0100 @@ -0,0 +1,893 @@ +// +// Copyright (c) 2001, Dr Brian Gladman , Worcester, UK. @@ -3784,9 +3764,9 @@ diff -pruN linux-2.6.9_orig/drivers/misc/aes-amd64.S linux-2.6.9/drivers/misc/ae + im_data5(v3) + im_data6(v3) + im_data7(v3) -diff -pruN linux-2.6.9_orig/drivers/misc/aes-x86.S linux-2.6.9/drivers/misc/aes-x86.S ---- linux-2.6.9_orig/drivers/misc/aes-x86.S 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.9/drivers/misc/aes-x86.S 2005-01-11 09:27:53.496819248 +0100 +diff -pruN linux-2.6.10/drivers/misc/aes-x86.S linux-2.6.10_loopaes/drivers/misc/aes-x86.S +--- linux-2.6.10/drivers/misc/aes-x86.S 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.10_loopaes/drivers/misc/aes-x86.S 2005-02-22 08:28:10.555739720 +0100 @@ -0,0 +1,922 @@ +// +// Copyright (c) 2001, Dr Brian Gladman , Worcester, UK. @@ -4710,9 +4690,9 @@ diff -pruN linux-2.6.9_orig/drivers/misc/aes-x86.S linux-2.6.9/drivers/misc/aes- + im_data5(v3) + im_data6(v3) + im_data7(v3) -diff -pruN linux-2.6.9_orig/drivers/misc/aes.c linux-2.6.9/drivers/misc/aes.c ---- linux-2.6.9_orig/drivers/misc/aes.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.9/drivers/misc/aes.c 2005-01-11 09:27:53.499818792 +0100 +diff -pruN linux-2.6.10/drivers/misc/aes.c linux-2.6.10_loopaes/drivers/misc/aes.c +--- linux-2.6.10/drivers/misc/aes.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.10_loopaes/drivers/misc/aes.c 2005-02-22 08:28:10.559739112 +0100 @@ -0,0 +1,1479 @@ +// I retain copyright in this code but I encourage its free use provided +// that I don't carry any responsibility for the results. I am especially @@ -6193,9 +6173,9 @@ diff -pruN linux-2.6.9_orig/drivers/misc/aes.c linux-2.6.9/drivers/misc/aes.c + + state_out(out_blk, b0); +} -diff -pruN linux-2.6.9_orig/drivers/misc/aes.h linux-2.6.9/drivers/misc/aes.h ---- linux-2.6.9_orig/drivers/misc/aes.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.9/drivers/misc/aes.h 2005-01-11 09:27:53.500818640 +0100 +diff -pruN linux-2.6.10/drivers/misc/aes.h linux-2.6.10_loopaes/drivers/misc/aes.h +--- linux-2.6.10/drivers/misc/aes.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.10_loopaes/drivers/misc/aes.h 2005-02-22 08:28:10.560738960 +0100 @@ -0,0 +1,113 @@ +// I retain copyright in this code but I encourage its free use provided +// that I don't carry any responsibility for the results. I am especially @@ -6310,9 +6290,9 @@ diff -pruN linux-2.6.9_orig/drivers/misc/aes.h linux-2.6.9/drivers/misc/aes.h +// if their parameters have not changed. + +#endif // _AES_H -diff -pruN linux-2.6.9_orig/drivers/misc/crypto-ksym.c linux-2.6.9/drivers/misc/crypto-ksym.c ---- linux-2.6.9_orig/drivers/misc/crypto-ksym.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.9/drivers/misc/crypto-ksym.c 2005-01-11 09:27:53.500818640 +0100 +diff -pruN linux-2.6.10/drivers/misc/crypto-ksym.c linux-2.6.10_loopaes/drivers/misc/crypto-ksym.c +--- linux-2.6.10/drivers/misc/crypto-ksym.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.10_loopaes/drivers/misc/crypto-ksym.c 2005-02-22 08:28:10.560738960 +0100 @@ -0,0 +1,7 @@ +#include +#include "aes.h" @@ -6321,9 +6301,9 @@ diff -pruN linux-2.6.9_orig/drivers/misc/crypto-ksym.c linux-2.6.9/drivers/misc/ +EXPORT_SYMBOL(aes_encrypt); +EXPORT_SYMBOL(aes_decrypt); +EXPORT_SYMBOL(md5_transform_CPUbyteorder); -diff -pruN linux-2.6.9_orig/drivers/misc/md5-amd64.S linux-2.6.9/drivers/misc/md5-amd64.S ---- linux-2.6.9_orig/drivers/misc/md5-amd64.S 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.9/drivers/misc/md5-amd64.S 2005-01-11 09:27:53.501818488 +0100 +diff -pruN linux-2.6.10/drivers/misc/md5-amd64.S linux-2.6.10_loopaes/drivers/misc/md5-amd64.S +--- linux-2.6.10/drivers/misc/md5-amd64.S 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.10_loopaes/drivers/misc/md5-amd64.S 2005-02-22 08:28:10.561738808 +0100 @@ -0,0 +1,200 @@ +// +// md5-amd64.S @@ -6525,9 +6505,9 @@ diff -pruN linux-2.6.9_orig/drivers/misc/md5-amd64.S linux-2.6.9/drivers/misc/md + addl %ecx,8(%rdi) + addl %edx,12(%rdi) + ret -diff -pruN linux-2.6.9_orig/drivers/misc/md5-x86.S linux-2.6.9/drivers/misc/md5-x86.S ---- linux-2.6.9_orig/drivers/misc/md5-x86.S 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.9/drivers/misc/md5-x86.S 2005-01-11 09:27:53.502818336 +0100 +diff -pruN linux-2.6.10/drivers/misc/md5-x86.S linux-2.6.10_loopaes/drivers/misc/md5-x86.S +--- linux-2.6.10/drivers/misc/md5-x86.S 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.10_loopaes/drivers/misc/md5-x86.S 2005-02-22 08:28:10.561738808 +0100 @@ -0,0 +1,207 @@ +// +// md5-x86.S @@ -6736,9 +6716,9 @@ diff -pruN linux-2.6.9_orig/drivers/misc/md5-x86.S linux-2.6.9/drivers/misc/md5- + pop %ebx + pop %ebp + ret -diff -pruN linux-2.6.9_orig/drivers/misc/md5.c linux-2.6.9/drivers/misc/md5.c ---- linux-2.6.9_orig/drivers/misc/md5.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.9/drivers/misc/md5.c 2005-01-11 09:27:53.502818336 +0100 +diff -pruN linux-2.6.10/drivers/misc/md5.c linux-2.6.10_loopaes/drivers/misc/md5.c +--- linux-2.6.10/drivers/misc/md5.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.10_loopaes/drivers/misc/md5.c 2005-02-22 08:28:10.562738656 +0100 @@ -0,0 +1,106 @@ +/* + * MD5 Message Digest Algorithm (RFC1321). @@ -6846,9 +6826,9 @@ diff -pruN linux-2.6.9_orig/drivers/misc/md5.c linux-2.6.9/drivers/misc/md5.c + hash[2] += c; + hash[3] += d; +} -diff -pruN linux-2.6.9_orig/drivers/misc/md5.h linux-2.6.9/drivers/misc/md5.h ---- linux-2.6.9_orig/drivers/misc/md5.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.9/drivers/misc/md5.h 2005-01-11 09:27:53.502818336 +0100 +diff -pruN linux-2.6.10/drivers/misc/md5.h linux-2.6.10_loopaes/drivers/misc/md5.h +--- linux-2.6.10/drivers/misc/md5.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.10_loopaes/drivers/misc/md5.h 2005-02-22 08:28:10.562738656 +0100 @@ -0,0 +1,11 @@ +/* md5.h */ + @@ -6861,9 +6841,9 @@ diff -pruN linux-2.6.9_orig/drivers/misc/md5.h linux-2.6.9/drivers/misc/md5.h + asmlinkage +#endif +extern void md5_transform_CPUbyteorder(u_int32_t *, u_int32_t const *); -diff -pruN linux-2.6.9_orig/include/linux/loop.h linux-2.6.9/include/linux/loop.h ---- linux-2.6.9_orig/include/linux/loop.h 2004-10-18 23:55:36.000000000 +0200 -+++ linux-2.6.9/include/linux/loop.h 2005-01-11 09:27:53.503818184 +0100 +diff -pruN linux-2.6.10/include/linux/loop.h linux-2.6.10_loopaes/include/linux/loop.h +--- linux-2.6.10/include/linux/loop.h 2004-12-24 22:35:49.000000000 +0100 ++++ linux-2.6.10_loopaes/include/linux/loop.h 2005-02-22 08:28:10.562738656 +0100 @@ -16,54 +16,57 @@ #ifdef __KERNEL__ #include diff --git a/package/blindcoder/loop-aes/loop-aes.desc b/package/blindcoder/loop-aes/loop-aes.desc index 9d370a296..e401b6aa4 100644 --- a/package/blindcoder/loop-aes/loop-aes.desc +++ b/package/blindcoder/loop-aes/loop-aes.desc @@ -35,9 +35,9 @@ [L] GPL [S] Stable -[V] 3.0a -[P] O ---3-----9 100.100 +[V] 3.0b +[P] O ---3-----9 100.400 -[D] 502568884 loop-AES-v3.0a.tar.bz2 http://loop-aes.sourceforge.net/loop-AES/ -[D] 2057206101 util-linux-2.12p.diff.bz2 http://loop-aes.sourceforge.net/updates/ +[D] 0 loop-AES-v3.0b.tar.bz2 http://loop-aes.sourceforge.net/loop-AES/ +[D] 0 util-linux-2.12p.diff.bz2 http://loop-aes.sourceforge.net/updates/