diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2008-07-03 02:57:30 -0400 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2008-07-10 08:35:16 -0400 |
commit | 4b22f0ddb6564210c9ded7ba25b2a1007733e784 (patch) | |
tree | c5e98f3eb875ca30ffcee65ff4ac6968a8b54db9 | |
parent | 81bef0150074d677d8cbd4e971a8ce6c9746a1fc (diff) |
crypto: tcrpyt - Remove unnecessary kmap/kunmap calls
Noticed by Neil Horman: we are doing unnecessary kmap/kunmap calls
on kmalloced memory. This patch removes them. For the purposes of
testing SG construction, the underlying crypto code already does plenty
of kmap/kunmap calls anyway.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r-- | crypto/tcrypt.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/crypto/tcrypt.c b/crypto/tcrypt.c index ffc1ec6d279e..87f08f9b0904 100644 --- a/crypto/tcrypt.c +++ b/crypto/tcrypt.c | |||
@@ -23,7 +23,6 @@ | |||
23 | #include <linux/scatterlist.h> | 23 | #include <linux/scatterlist.h> |
24 | #include <linux/string.h> | 24 | #include <linux/string.h> |
25 | #include <linux/crypto.h> | 25 | #include <linux/crypto.h> |
26 | #include <linux/highmem.h> | ||
27 | #include <linux/moduleparam.h> | 26 | #include <linux/moduleparam.h> |
28 | #include <linux/jiffies.h> | 27 | #include <linux/jiffies.h> |
29 | #include <linux/timex.h> | 28 | #include <linux/timex.h> |
@@ -31,7 +30,7 @@ | |||
31 | #include "tcrypt.h" | 30 | #include "tcrypt.h" |
32 | 31 | ||
33 | /* | 32 | /* |
34 | * Need to kmalloc() memory for testing kmap(). | 33 | * Need to kmalloc() memory for testing. |
35 | */ | 34 | */ |
36 | #define TVMEMSIZE 16384 | 35 | #define TVMEMSIZE 16384 |
37 | #define XBUFSIZE 32768 | 36 | #define XBUFSIZE 32768 |
@@ -376,13 +375,12 @@ static void test_aead(char *algo, int enc, struct aead_testvec *template, | |||
376 | goto next_one; | 375 | goto next_one; |
377 | } | 376 | } |
378 | 377 | ||
379 | q = kmap(sg_page(&sg[0])) + sg[0].offset; | 378 | q = input; |
380 | hexdump(q, template[i].rlen); | 379 | hexdump(q, template[i].rlen); |
381 | 380 | ||
382 | printk(KERN_INFO "enc/dec: %s\n", | 381 | printk(KERN_INFO "enc/dec: %s\n", |
383 | memcmp(q, template[i].result, | 382 | memcmp(q, template[i].result, |
384 | template[i].rlen) ? "fail" : "pass"); | 383 | template[i].rlen) ? "fail" : "pass"); |
385 | kunmap(sg_page(&sg[0])); | ||
386 | next_one: | 384 | next_one: |
387 | if (!template[i].key) | 385 | if (!template[i].key) |
388 | kfree(key); | 386 | kfree(key); |
@@ -482,7 +480,7 @@ next_one: | |||
482 | 480 | ||
483 | for (k = 0, temp = 0; k < template[i].np; k++) { | 481 | for (k = 0, temp = 0; k < template[i].np; k++) { |
484 | printk(KERN_INFO "page %u\n", k); | 482 | printk(KERN_INFO "page %u\n", k); |
485 | q = kmap(sg_page(&sg[k])) + sg[k].offset; | 483 | q = &axbuf[IDX[k]]; |
486 | hexdump(q, template[i].tap[k]); | 484 | hexdump(q, template[i].tap[k]); |
487 | printk(KERN_INFO "%s\n", | 485 | printk(KERN_INFO "%s\n", |
488 | memcmp(q, template[i].result + temp, | 486 | memcmp(q, template[i].result + temp, |
@@ -500,7 +498,6 @@ next_one: | |||
500 | } | 498 | } |
501 | 499 | ||
502 | temp += template[i].tap[k]; | 500 | temp += template[i].tap[k]; |
503 | kunmap(sg_page(&sg[k])); | ||
504 | } | 501 | } |
505 | } | 502 | } |
506 | } | 503 | } |
@@ -609,13 +606,12 @@ static void test_cipher(char *algo, int enc, | |||
609 | goto out; | 606 | goto out; |
610 | } | 607 | } |
611 | 608 | ||
612 | q = kmap(sg_page(&sg[0])) + sg[0].offset; | 609 | q = data; |
613 | hexdump(q, template[i].rlen); | 610 | hexdump(q, template[i].rlen); |
614 | 611 | ||
615 | printk("%s\n", | 612 | printk("%s\n", |
616 | memcmp(q, template[i].result, | 613 | memcmp(q, template[i].result, |
617 | template[i].rlen) ? "fail" : "pass"); | 614 | template[i].rlen) ? "fail" : "pass"); |
618 | kunmap(sg_page(&sg[0])); | ||
619 | } | 615 | } |
620 | kfree(data); | 616 | kfree(data); |
621 | } | 617 | } |
@@ -689,7 +685,7 @@ static void test_cipher(char *algo, int enc, | |||
689 | temp = 0; | 685 | temp = 0; |
690 | for (k = 0; k < template[i].np; k++) { | 686 | for (k = 0; k < template[i].np; k++) { |
691 | printk("page %u\n", k); | 687 | printk("page %u\n", k); |
692 | q = kmap(sg_page(&sg[k])) + sg[k].offset; | 688 | q = &xbuf[IDX[k]]; |
693 | hexdump(q, template[i].tap[k]); | 689 | hexdump(q, template[i].tap[k]); |
694 | printk("%s\n", | 690 | printk("%s\n", |
695 | memcmp(q, template[i].result + temp, | 691 | memcmp(q, template[i].result + temp, |
@@ -704,7 +700,6 @@ static void test_cipher(char *algo, int enc, | |||
704 | hexdump(&q[template[i].tap[k]], n); | 700 | hexdump(&q[template[i].tap[k]], n); |
705 | } | 701 | } |
706 | temp += template[i].tap[k]; | 702 | temp += template[i].tap[k]; |
707 | kunmap(sg_page(&sg[k])); | ||
708 | } | 703 | } |
709 | } | 704 | } |
710 | } | 705 | } |