]> rtime.felk.cvut.cz Git - can-eth-gw-linux.git/commitdiff
Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 11 Jan 2012 06:01:27 +0000 (22:01 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 11 Jan 2012 06:01:27 +0000 (22:01 -0800)
* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (54 commits)
  crypto: gf128mul - remove leftover "(EXPERIMENTAL)" in Kconfig
  crypto: serpent-sse2 - remove unneeded LRW/XTS #ifdefs
  crypto: serpent-sse2 - select LRW and XTS
  crypto: twofish-x86_64-3way - remove unneeded LRW/XTS #ifdefs
  crypto: twofish-x86_64-3way - select LRW and XTS
  crypto: xts - remove dependency on EXPERIMENTAL
  crypto: lrw - remove dependency on EXPERIMENTAL
  crypto: picoxcell - fix boolean and / or confusion
  crypto: caam - remove DECO access initialization code
  crypto: caam - fix polarity of "propagate error" logic
  crypto: caam - more desc.h cleanups
  crypto: caam - desc.h - convert spaces to tabs
  crypto: talitos - convert talitos_error to struct device
  crypto: talitos - remove NO_IRQ references
  crypto: talitos - fix bad kfree
  crypto: convert drivers/crypto/* to use module_platform_driver()
  char: hw_random: convert drivers/char/hw_random/* to use module_platform_driver()
  crypto: serpent-sse2 - should select CRYPTO_CRYPTD
  crypto: serpent - rename serpent.c to serpent_generic.c
  crypto: serpent - cleanup checkpatch errors and warnings
  ...

1  2 
crypto/Kconfig
crypto/crypto_user.c
drivers/crypto/mv_cesa.c

diff --combined crypto/Kconfig
index ae9c3ceb2867a8e15700a539ec8d3bd0f1ce1e75,7ae0d0f6d7535a579e886f9da9a283e509aa1cb6..e6cfe1a2513729912270ad8b31d77d3f49db1615
@@@ -105,7 -105,7 +105,7 @@@ config CRYPTO_USE
        depends on NET
        select CRYPTO_MANAGER
        help
-         Userapace configuration for cryptographic instantiations such as
+         Userspace configuration for cryptographic instantiations such as
          cbc(aes).
  
  config CRYPTO_MANAGER_DISABLE_TESTS
          algorithm registration.
  
  config CRYPTO_GF128MUL
-       tristate "GF(2^128) multiplication functions (EXPERIMENTAL)"
+       tristate "GF(2^128) multiplication functions"
        help
          Efficient table driven implementation of multiplications in the
          field GF(2^128).  This is needed by some cypher modes. This
@@@ -241,8 -241,7 +241,7 @@@ config CRYPTO_EC
          the input block by block.
  
  config CRYPTO_LRW
-       tristate "LRW support (EXPERIMENTAL)"
-       depends on EXPERIMENTAL
+       tristate "LRW support"
        select CRYPTO_BLKCIPHER
        select CRYPTO_MANAGER
        select CRYPTO_GF128MUL
@@@ -262,8 -261,7 +261,7 @@@ config CRYPTO_PCB
          This block cipher algorithm is required for RxRPC.
  
  config CRYPTO_XTS
-       tristate "XTS support (EXPERIMENTAL)"
-       depends on EXPERIMENTAL
+       tristate "XTS support"
        select CRYPTO_BLKCIPHER
        select CRYPTO_MANAGER
        select CRYPTO_GF128MUL
@@@ -329,6 -327,7 +327,6 @@@ config CRYPTO_CRC32C_INTE
  
  config CRYPTO_GHASH
        tristate "GHASH digest algorithm"
 -      select CRYPTO_SHASH
        select CRYPTO_GF128MUL
        help
          GHASH is message digest algorithm for GCM (Galois/Counter Mode).
@@@ -476,6 -475,7 +474,6 @@@ config CRYPTO_WP51
  config CRYPTO_GHASH_CLMUL_NI_INTEL
        tristate "GHASH digest algorithm (CLMUL-NI accelerated)"
        depends on X86 && 64BIT
 -      select CRYPTO_SHASH
        select CRYPTO_CRYPTD
        help
          GHASH is message digest algorithm for GCM (Galois/Counter Mode).
@@@ -764,6 -764,46 +762,46 @@@ config CRYPTO_SERPEN
          See also:
          <http://www.cl.cam.ac.uk/~rja14/serpent.html>
  
+ config CRYPTO_SERPENT_SSE2_X86_64
+       tristate "Serpent cipher algorithm (x86_64/SSE2)"
+       depends on X86 && 64BIT
+       select CRYPTO_ALGAPI
+       select CRYPTO_CRYPTD
+       select CRYPTO_SERPENT
+       select CRYPTO_LRW
+       select CRYPTO_XTS
+       help
+         Serpent cipher algorithm, by Anderson, Biham & Knudsen.
+         Keys are allowed to be from 0 to 256 bits in length, in steps
+         of 8 bits.
+         This module provides Serpent cipher algorithm that processes eigth
+         blocks parallel using SSE2 instruction set.
+         See also:
+         <http://www.cl.cam.ac.uk/~rja14/serpent.html>
+ config CRYPTO_SERPENT_SSE2_586
+       tristate "Serpent cipher algorithm (i586/SSE2)"
+       depends on X86 && !64BIT
+       select CRYPTO_ALGAPI
+       select CRYPTO_CRYPTD
+       select CRYPTO_SERPENT
+       select CRYPTO_LRW
+       select CRYPTO_XTS
+       help
+         Serpent cipher algorithm, by Anderson, Biham & Knudsen.
+         Keys are allowed to be from 0 to 256 bits in length, in steps
+         of 8 bits.
+         This module provides Serpent cipher algorithm that processes four
+         blocks parallel using SSE2 instruction set.
+         See also:
+         <http://www.cl.cam.ac.uk/~rja14/serpent.html>
  config CRYPTO_TEA
        tristate "TEA, XTEA and XETA cipher algorithms"
        select CRYPTO_ALGAPI
@@@ -840,6 -880,8 +878,8 @@@ config CRYPTO_TWOFISH_X86_64_3WA
        select CRYPTO_ALGAPI
        select CRYPTO_TWOFISH_COMMON
        select CRYPTO_TWOFISH_X86_64
+       select CRYPTO_LRW
+       select CRYPTO_XTS
        help
          Twofish cipher algorithm (x86_64, 3-way parallel).
  
diff --combined crypto/crypto_user.c
index 0605a2bbba75e17e67e59f602f1d12c453404031,edeebe1a84bba43449913c57ed7fab88ea67a7e1..3ba6ef508869d104db2657423e451c3922db5f45
@@@ -44,6 -44,9 +44,6 @@@ static struct crypto_alg *crypto_alg_ma
  
        down_read(&crypto_alg_sem);
  
 -      if (list_empty(&crypto_alg_list))
 -              return NULL;
 -
        list_for_each_entry(q, &crypto_alg_list, cra_list) {
                int match = 0;
  
@@@ -298,7 -301,7 +298,7 @@@ static int crypto_del_alg(struct sk_buf
        if (atomic_read(&alg->cra_refcnt) != 1)
                return -EBUSY;
  
-       return crypto_unregister_alg(alg);
+       return crypto_unregister_instance(alg);
  }
  
  static int crypto_add_alg(struct sk_buff *skb, struct nlmsghdr *nlh,
diff --combined drivers/crypto/mv_cesa.c
index dcd8babae9eb36fe864bae433558e5e1b4c77d83,015c0fcea0bd00b10c29b33c20eb5ce07e03aa70..597235a2f8f908bbc69fffc596ffc20d71a16c5b
@@@ -343,13 -343,11 +343,13 @@@ static void mv_process_hash_current(in
                else
                        op.config |= CFG_MID_FRAG;
  
 -              writel(req_ctx->state[0], cpg->reg + DIGEST_INITIAL_VAL_A);
 -              writel(req_ctx->state[1], cpg->reg + DIGEST_INITIAL_VAL_B);
 -              writel(req_ctx->state[2], cpg->reg + DIGEST_INITIAL_VAL_C);
 -              writel(req_ctx->state[3], cpg->reg + DIGEST_INITIAL_VAL_D);
 -              writel(req_ctx->state[4], cpg->reg + DIGEST_INITIAL_VAL_E);
 +              if (first_block) {
 +                      writel(req_ctx->state[0], cpg->reg + DIGEST_INITIAL_VAL_A);
 +                      writel(req_ctx->state[1], cpg->reg + DIGEST_INITIAL_VAL_B);
 +                      writel(req_ctx->state[2], cpg->reg + DIGEST_INITIAL_VAL_C);
 +                      writel(req_ctx->state[3], cpg->reg + DIGEST_INITIAL_VAL_D);
 +                      writel(req_ctx->state[4], cpg->reg + DIGEST_INITIAL_VAL_E);
 +              }
        }
  
        memcpy(cpg->sram + SRAM_CONFIG, &op, sizeof(struct sec_accel_config));
@@@ -1128,17 -1126,7 +1128,7 @@@ static struct platform_driver marvell_c
  };
  MODULE_ALIAS("platform:mv_crypto");
  
- static int __init mv_crypto_init(void)
- {
-       return platform_driver_register(&marvell_crypto);
- }
- module_init(mv_crypto_init);
- static void __exit mv_crypto_exit(void)
- {
-       platform_driver_unregister(&marvell_crypto);
- }
- module_exit(mv_crypto_exit);
+ module_platform_driver(marvell_crypto);
  
  MODULE_AUTHOR("Sebastian Andrzej Siewior <sebastian@breakpoint.cc>");
  MODULE_DESCRIPTION("Support for Marvell's cryptographic engine");