Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Linus Torvalds [Thu, 4 Oct 2012 16:06:34 +0000 (09:06 -0700)]
Pull crypto update from Herbert Xu:
 - Optimised AES/SHA1 for ARM.
 - IPsec ESN support in talitos and caam.
 - x86_64/avx implementation of cast5/cast6.
 - Add/use multi-algorithm registration helpers where possible.
 - Added IBM Power7+ in-Nest support.
 - Misc fixes.

Fix up trivial conflicts in crypto/Kconfig due to the sparc64 crypto
config options being added next to the new ARM ones.

[ Side note: cut-and-paste duplicate help texts make those conflicts
  harder to read than necessary, thanks to git being smart about
  minimizing conflicts and maximizing the common parts... ]

* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (71 commits)
  crypto: x86/glue_helper - fix storing of new IV in CBC encryption
  crypto: cast5/avx - fix storing of new IV in CBC encryption
  crypto: tcrypt - add missing tests for camellia and ghash
  crypto: testmgr - make test_aead also test 'dst != src' code paths
  crypto: testmgr - make test_skcipher also test 'dst != src' code paths
  crypto: testmgr - add test vectors for CTR mode IV increasement
  crypto: testmgr - add test vectors for partial ctr(cast5) and ctr(cast6)
  crypto: testmgr - allow non-multi page and multi page skcipher tests from same test template
  crypto: caam - increase TRNG clocks per sample
  crypto, tcrypt: remove local_bh_disable/enable() around local_irq_disable/enable()
  crypto: tegra-aes - fix error return code
  crypto: crypto4xx - fix error return code
  crypto: hifn_795x - fix error return code
  crypto: ux500 - fix error return code
  crypto: caam - fix error IDs for SEC v5.x RNG4
  hwrng: mxc-rnga - Access data via structure
  hwrng: mxc-rnga - Adapt clocks to new i.mx clock framework
  crypto: caam - add IPsec ESN support
  crypto: 842 - remove .cra_list initialization
  Revert "[CRYPTO] cast6: inline bloat--"
  ...

1  2 
MAINTAINERS
arch/arm/Makefile
arch/powerpc/configs/ppc64_defconfig
arch/powerpc/kernel/prom_init.c
crypto/Kconfig
crypto/crypto_user.c
drivers/crypto/caam/key_gen.c
drivers/crypto/hifn_795x.c
drivers/crypto/ux500/cryp/cryp_core.c
drivers/crypto/ux500/hash/hash_core.c

diff --cc MAINTAINERS
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc crypto/Kconfig
@@@ -451,15 -433,15 +451,24 @@@ config CRYPTO_SHA1_SSSE
          using Supplemental SSE3 (SSSE3) instructions or Advanced Vector
          Extensions (AVX), when available.
  
 +config CRYPTO_SHA1_SPARC64
 +      tristate "SHA1 digest algorithm (SPARC64)"
 +      depends on SPARC64
 +      select CRYPTO_SHA1
 +      select CRYPTO_HASH
 +      help
 +        SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented
 +        using sparc64 crypto instructions, when available.
 +
+ config CRYPTO_SHA1_ARM
+       tristate "SHA1 digest algorithm (ARM-asm)"
+       depends on ARM
+       select CRYPTO_SHA1
+       select CRYPTO_HASH
+       help
+         SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented
+         using optimized ARM assembler.
  config CRYPTO_SHA256
        tristate "SHA224 and SHA256 digest algorithm"
        select CRYPTO_HASH
@@@ -633,34 -599,30 +644,58 @@@ config CRYPTO_AES_NI_INTE
          ECB, CBC, LRW, PCBC, XTS. The 64 bit version has additional
          acceleration for CTR.
  
 +config CRYPTO_AES_SPARC64
 +      tristate "AES cipher algorithms (SPARC64)"
 +      depends on SPARC64
 +      select CRYPTO_CRYPTD
 +      select CRYPTO_ALGAPI
 +      help
 +        Use SPARC64 crypto opcodes for AES algorithm.
 +
 +        AES cipher algorithms (FIPS-197). AES uses the Rijndael
 +        algorithm.
 +
 +        Rijndael appears to be consistently a very good performer in
 +        both hardware and software across a wide range of computing
 +        environments regardless of its use in feedback or non-feedback
 +        modes. Its key setup time is excellent, and its key agility is
 +        good. Rijndael's very low memory requirements make it very well
 +        suited for restricted-space environments, in which it also
 +        demonstrates excellent performance. Rijndael's operations are
 +        among the easiest to defend against power and timing attacks.
 +
 +        The AES specifies three key sizes: 128, 192 and 256 bits
 +
 +        See <http://csrc.nist.gov/encryption/aes/> for more information.
 +
 +        In addition to AES cipher algorithm support, the acceleration
 +        for some popular block cipher mode is supported too, including
 +        ECB and CBC.
 +
+ config CRYPTO_AES_ARM
+       tristate "AES cipher algorithms (ARM-asm)"
+       depends on ARM
+       select CRYPTO_ALGAPI
+       select CRYPTO_AES
+       help
+         Use optimized AES assembler routines for ARM platforms.
+         AES cipher algorithms (FIPS-197). AES uses the Rijndael
+         algorithm.
+         Rijndael appears to be consistently a very good performer in
+         both hardware and software across a wide range of computing
+         environments regardless of its use in feedback or non-feedback
+         modes. Its key setup time is excellent, and its key agility is
+         good. Rijndael's very low memory requirements make it very well
+         suited for restricted-space environments, in which it also
+         demonstrates excellent performance. Rijndael's operations are
+         among the easiest to defend against power and timing attacks.
+         The AES specifies three key sizes: 128, 192 and 256 bits
+         See <http://csrc.nist.gov/encryption/aes/> for more information.
  config CRYPTO_ANUBIS
        tristate "Anubis cipher algorithm"
        select CRYPTO_ALGAPI
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge