Crypto Update for 4.4

Herbert Xu
2015-11-02T08:04:44Z

Hi Linus:

Here is the crypto update for 4.4:

API:

* Add support for cipher output IVs in testmgr.
* Add missing crypto_ahash_blocksize helper.
* Mark authenc and des ciphers as not allowed under FIPS.

Algorithms:

* Add CRC support to 842 compression.
* Add keywrap algorithm.
* A number of changes to the akcipher interface:
+ Separate functions for setting public/private keys.
+ Use SG lists.

Drivers:

* Add Intel SHA Extension optimised SHA1 and SHA256.
* Use dma_map_sg instead of custom functions in crypto drivers.
* Add support for STM32 RNG.
* Add support for ST RNG.
* Add Device Tree support to exynos RNG driver.
* Add support for mxs-dcp crypto device on MX6SL.
* Add xts(aes) support to caam.
* Add ctr(aes) and xts(aes) support to qat.
* A large set of fixes from Russell King for the marvell/cesa driver.

Please pull from

git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6.git linus

Alexander Kuleshov (1):
crypto: jitterentropy - remove unnecessary information from a comment

Arnd Bergmann (1):
crypto: mxs-dcp - mxs-dcp is an stmp device

Boris BREZILLON (1):
crypto: testmgr - test IV value after a cipher operation

Boris Brezillon (1):
crypto: marvell/cesa - fix memory leak

Catalin Vasile (1):
crypto: caam - add support for acipher xts(aes)

Daniel Thompson (5):
dt-bindings: Document the STM32 HW RNG bindings
hwrng: stm32 - add support for STM32 HW RNG
ARM: dts: stm32f429: Adopt STM32 RNG driver
hwrng: stm32 - Fix build with CONFIG_PM
hwrng: exynos - Fix unbalanced PM runtime get/puts

David Howells (1):
crypto: akcipher - Don't #include crypto/public_key.h as the contents aren't used

Fabio Estevam (6):
crypto: mxs-dcp - Allow MXS_DCP to be used on MX6SL
hwrng: mxc-rnga - Remove unneeded goto label
hwrng: mxc-rnga - Remove uneeded initialization
hwrng: mxc-rnga - Remove unnecessary dev_info message
hwrng: mxc-rnga - Use the preferred format for kzalloc
crypto: caam - Remove unused JUMP_TYPE_MASK definition

Geliang Tang (1):
crypto: skcipher - blkcipher and ablkcipher should it be static

Haren Myneni (1):
crypto: 842 - Add CRC and validation support

Herbert Xu (1):
crypto: ahash - Add crypto_ahash_blocksize

Horia Geant? (1):
crypto: tcrypt - avoid mapping from module image addresses

John Griffin (1):
crypto: qat - don't check for iommu

John Haxby (1):
crypto: testmgr - Disable fips-allowed for authenc() and des() ciphers

Krzysztof Kozlowski (4):
dt-bindings: rng: Describe Exynos4 PRNG bindings
hwrng: exynos - Add timeout for waiting on init done
hwrng: exynos - Fix missing configuration after suspend to RAM
hwrng: exynos - Add Device Tree support

LABBE Corentin (14):
crypto: bfin_crc - replace sg_count by sg_nents
crypto: amcc - replace get_sg_count by sg_nents_for_len
crypto: sahara - replace sahara_sg_length with sg_nents_for_len
crypto: talitos - dma_map_sg can handle chained SG
crypto: caam - dma_map_sg can handle chained SG
crypto: sahara - dma_map_sg can handle chained SG
crypto: qce - dma_map_sg can handle chained SG
crypto: atmel - Check for clk_prepare_enable() return value
crypto: atmel - use devm_xxx() managed function
crypto: ux500 - Use devm_xxx() managed function
crypto: s390/sha - replace raw value by their coresponding define
crypto: sahara - set array of const as const
crypto: n2 - set array of const as const
lib/mpi: clean unused SHA1_DIGEST_LENGTH

Lee Jones (10):
hwrng: doc - Fix device node name reference /dev/hw_random => /dev/hwrng
hwrng: Kconfig - Fix device node name reference /dev/hw_random => /dev/hwrng
hwrng: core - Simplify RNG switching from sysfs
hwrng: st - Provide DT bindings for ST's Random Number Generator
hwrng: st - Add support for ST's HW Random Number Generator
ARM: STi: STiH407: Enable the 2 HW Random Number Generators for STiH4{07, 10}
MAINTAINERS: Add ST's Random Number Generator to the ST entry
hwrng: st: dt: Fix trivial typo in node address
hwrng: st - Use real-world device timings for timeout
hwrng: st - Improve FIFO size/depth description

Luis de Bethencourt (4):
crypto: amcc - Fix module autoload for OF platform driver
crypto: picoxcell - Fix module autoload for OF platform driver
crypto: ux500 - Fix module autoload for OF platform drivers
hwrng: Fix module autoload for OF platform drivers

Nicolas Iooss (1):
crypto: crc32c-pclmul - use .rodata instead of .rotata

Russell King (32):
crypto: marvell/cesa - fix stack smashing in marvell/hash.c
crypto: marvell/cesa - initialise struct mv_cesa_ahash_req
crypto: marvell/cesa - fix wrong hash results
crypto: marvell/cesa - factor out common import/export functions
crypto: marvell/cesa - easier way to get the transform
crypto: marvell/cesa - keep creq->state in CPU endian format at all times
crypto: marvell/cesa - add flag to determine algorithm endianness
crypto: marvell/cesa - fix the bit length endianness
crypto: marvell/cesa - ensure template operation is initialised
crypto: marvell/cesa - const-ify argument to mv_cesa_get_op_cfg()
crypto: marvell/cesa - factor out first fragment decisions to helper
crypto: marvell/cesa - factor out adding an operation and launching it
crypto: marvell/cesa - always ensure mid-fragments after first-fragment
crypto: marvell/cesa - move mv_cesa_dma_add_frag() calls
crypto: marvell/cesa - use presence of scatterlist to determine data load
crypto: marvell/cesa - ensure iter.base.op_len is the full op length
crypto: marvell/cesa - avoid adding final operation within loop
crypto: marvell/cesa - rearrange last request handling
crypto: marvell/cesa - rearrange handling for hw finished hashes
crypto: marvell/cesa - rearrange handling for sw padded hashes
crypto: marvell/cesa - fix first-fragment handling in mv_cesa_ahash_dma_last_req()
crypto: caam - print errno code when hash registration fails
crypto: caam - avoid needlessly saving and restoring caam_hash_ctx
crypto: caam - fix non-block aligned hash calculation
crypto: caam - only export the state we really need to export
crypto: caam - fix indentation of close braces
crypto: marvell/cesa - use readl_relaxed()/writel_relaxed()
crypto: marvell/cesa - use dma_addr_t for cur_dma
crypto: marvell/cesa - use gfp_t for gfp flags
crypto: marvell/cesa - use memcpy_fromio()/memcpy_toio()
crypto: marvell/cesa - fix missing cpu_to_le32() in mv_cesa_dma_add_op()
crypto: marvell/cesa - use __le32 for hardware descriptors

Sowmini Varadhan (2):
crypto: pkcs7 - Fix unaligned access in pkcs7_verify()
crypto: asymmetric_keys - Fix unaligned access in x509_get_sig_params()

Stephan Mueller (4):
crypto: keywrap - add key wrapping block chaining mode
crypto: keywrap - enable compilation
crypto: keywrap - add testmgr support
lib/mpi: fix off by one in mpi_read_raw_from_sgl

Tadeusz Struk (7):
crypto: qat - Add load balancing across devices
crypto: qat - remove empty functions and turn qat_uregister fn to void
crypto: qat - add support for ctr(aes) and xts(aes)
crypto: qat - remove unneeded variable
lib/mpi: Add mpi sgl helpers
crypto: akcipher - Changes to asymmetric key API
crypto: qat - fix crypto_get_instance_node function

Thomas Petazzoni (1):
MAINTAINERS: add maintainers for the Marvell Crypto driver

Tom Lendacky (4):
crypto: ccp - Replace BUG_ON with WARN_ON and a return code
crypto: ccp - Remove use ACPI field
crypto: ccp - Change references to accelerator to offload
crypto: ccp - Use module name in driver structures

Vaishali Thakkar (1):
hwrng: octeon - Use devm_hwrng_register

sudip (1):
crypto: asymmetric_keys - remove always false comparison

tim (7):
crypto: x86/sha - Intel SHA Extensions optimized SHA1 transform function
crypto: x86/sha - Intel SHA Extensions optimized SHA256 transform function
crypto: x86/sha - glue code for Intel SHA extensions optimized SHA1 & SHA256
crypto: x86/sha - Add build support for Intel SHA Extensions optimized SHA1 and SHA256
crypto: x86/sha - Restructure x86 sha1 glue code to expose all the available sha1 transforms
crypto: x86/sha - Restructure x86 sha256 glue code to expose all the available sha256 transforms
crypto: x86/sha - Restructure x86 sha512 glue code to expose all the available sha512 transforms

.../bindings/rng/samsung,exynos-rng4.txt | 17 +
Documentation/devicetree/bindings/rng/st,rng.txt | 15 +
.../devicetree/bindings/rng/st,stm32-rng.txt | 21 +
Documentation/hw_random.txt | 8 +-
MAINTAINERS | 8 +
arch/arm/boot/dts/stih407-family.dtsi | 14 +
arch/arm/boot/dts/stm32f429.dtsi | 7 +
arch/s390/crypto/sha.h | 2 +-
arch/x86/Makefile | 6 +-
arch/x86/crypto/Makefile | 8 +
arch/x86/crypto/crc32c-pcl-intel-asm_64.S | 2 +-
arch/x86/crypto/sha1_ni_asm.S | 302 +++++++++++++
arch/x86/crypto/sha1_ssse3_glue.c | 314 ++++++++++---
arch/x86/crypto/sha256_ni_asm.S | 353 +++++++++++++++
arch/x86/crypto/sha256_ssse3_glue.c | 329 ++++++++++++--
arch/x86/crypto/sha512_ssse3_glue.c | 249 +++++++++--
crypto/Kconfig | 17 +-
crypto/Makefile | 10 +-
crypto/akcipher.c | 1 -
crypto/asymmetric_keys/pkcs7_verify.c | 5 +-
crypto/asymmetric_keys/x509_cert_parser.c | 6 +-
crypto/asymmetric_keys/x509_public_key.c | 5 +-
crypto/jitterentropy-kcapi.c | 4 -
crypto/keywrap.c | 419 +++++++++++++++++
crypto/rsa.c | 83 ++--
crypto/rsa_helper.c | 42 +-
crypto/rsakey.asn1 | 5 -
crypto/rsaprivkey.asn1 | 11 +
crypto/rsapubkey.asn1 | 4 +
crypto/skcipher.c | 4 +-
crypto/tcrypt.c | 17 +-
crypto/testmgr.c | 83 ++--
crypto/testmgr.h | 77 +++-
drivers/char/hw_random/Kconfig | 24 +-
drivers/char/hw_random/Makefile | 2 +
drivers/char/hw_random/core.c | 2 +-
drivers/char/hw_random/exynos-rng.c | 58 ++-
drivers/char/hw_random/mxc-rnga.c | 14 +-
drivers/char/hw_random/octeon-rng.c | 12 +-
drivers/char/hw_random/pasemi-rng.c | 1 +
drivers/char/hw_random/ppc4xx-rng.c | 1 +
drivers/char/hw_random/st-rng.c | 151 +++++++
drivers/char/hw_random/stm32-rng.c | 202 +++++++++
drivers/crypto/Kconfig | 5 +-
drivers/crypto/amcc/crypto4xx_core.c | 23 +-
drivers/crypto/atmel-aes.c | 44 +-
drivers/crypto/atmel-sha.c | 33 +-
drivers/crypto/atmel-tdes.c | 35 +-
drivers/crypto/bfin_crc.c | 25 +-
drivers/crypto/caam/caamalg.c | 232 +++++++---
drivers/crypto/caam/caamhash.c | 131 +++---
drivers/crypto/caam/desc.h | 1 -
drivers/crypto/caam/sg_sw_sec4.h | 72 +--
drivers/crypto/ccp/Kconfig | 13 +-
drivers/crypto/ccp/ccp-crypto-aes-cmac.c | 20 +-
drivers/crypto/ccp/ccp-crypto-main.c | 6 +-
drivers/crypto/ccp/ccp-crypto-sha.c | 13 +
drivers/crypto/ccp/ccp-ops.c | 108 +++--
drivers/crypto/ccp/ccp-pci.c | 2 +-
drivers/crypto/ccp/ccp-platform.c | 6 +-
drivers/crypto/marvell/cesa.h | 55 ++-
drivers/crypto/marvell/cipher.c | 13 +-
drivers/crypto/marvell/hash.c | 471 ++++++++++----------
drivers/crypto/marvell/tdma.c | 42 +-
drivers/crypto/n2_core.c | 2 +-
drivers/crypto/nx/nx-842-powernv.c | 4 +-
drivers/crypto/nx/nx-842-pseries.c | 8 +-
drivers/crypto/picoxcell_crypto.c | 1 +
drivers/crypto/qat/qat_common/Makefile | 12 +-
drivers/crypto/qat/qat_common/adf_common_drv.h | 4 +-
drivers/crypto/qat/qat_common/adf_ctl_drv.c | 6 -
drivers/crypto/qat/qat_common/adf_init.c | 8 +-
drivers/crypto/qat/qat_common/adf_sriov.c | 7 +-
drivers/crypto/qat/qat_common/qat_algs.c | 178 +++++---
drivers/crypto/qat/qat_common/qat_asym_algs.c | 213 ++++++---
drivers/crypto/qat/qat_common/qat_crypto.c | 79 ++--
drivers/crypto/qat/qat_common/qat_hal.c | 5 +-
drivers/crypto/qat/qat_common/qat_rsakey.asn1 | 5 -
drivers/crypto/qat/qat_common/qat_rsaprivkey.asn1 | 11 +
drivers/crypto/qat/qat_common/qat_rsapubkey.asn1 | 4 +
drivers/crypto/qce/ablkcipher.c | 30 +-
drivers/crypto/qce/cipher.h | 4 -
drivers/crypto/qce/dma.c | 52 ---
drivers/crypto/qce/dma.h | 5 -
drivers/crypto/qce/sha.c | 18 +-
drivers/crypto/qce/sha.h | 2 -
drivers/crypto/sahara.c | 108 +----
drivers/crypto/talitos.c | 104 +----
drivers/crypto/ux500/cryp/cryp_core.c | 71 +--
drivers/crypto/ux500/hash/hash_core.c | 50 +--
include/crypto/akcipher.h | 90 +++-
include/crypto/hash.h | 14 +
include/crypto/internal/rsa.h | 7 +-
include/linux/mpi.h | 10 +-
lib/842/842.h | 2 +
lib/842/842_compress.c | 13 +
lib/842/842_decompress.c | 17 +
lib/mpi/mpicoder.c | 199 +++++++++
98 files changed, 4070 insertions(+), 1538 deletions(-)