Crypto Update for 4.14
From: Herbert Xu
Date: Mon Sep 04 2017 - 06:12:57 EST
Hi Linus:
Here is the crypto update for 4.14:
API:
- Defer scompress scratch buffer allocation to first use.
- Add __crypto_xor that takes separte src and dst operands.
- Add ahash multiple registration interface.
- Revamped aead/skcipher algif code to fix async IO properly.
Drivers:
- Add non-SIMD fallback code path on ARM for SVE.
- Add AMD Security Processor framework for ccp.
- Add support for RSA in ccp.
- Add XTS-AES-256 support for CCP version 5.
- Add support for PRNG in sun4i-ss.
- Add support for DPAA2 in caam.
- Add ARTPEC crypto support.
- Add Freescale RNGC hwrng support.
- Add Microchip / Atmel ECC driver.
- Add support for STM32 HASH module.
Please pull from
git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6.git linus
Ard Biesheuvel (21):
crypto: scompress - don't sleep with preemption disabled
crypto: scompress - free partially allocated scratch buffers on failure
crypto: scompress - defer allocation of scratch buffer to first use
crypto: algapi - use separate dst and src operands for __crypto_xor()
crypto: algapi - make crypto_xor() take separate dst and src arguments
crypto: arm64/ghash-ce - add non-SIMD scalar fallback
crypto: arm64/crct10dif - add non-SIMD generic fallback
crypto: arm64/crc32 - add non-SIMD scalar fallback
crypto: arm64/sha1-ce - add non-SIMD generic fallback
crypto: arm64/sha2-ce - add non-SIMD scalar fallback
crypto: arm64/aes-ce-cipher - match round key endianness with generic code
crypto: arm64/aes-ce-cipher: add non-SIMD generic fallback
crypto: arm64/aes-ce-ccm: add non-SIMD generic fallback
crypto: arm64/aes-blk - add a non-SIMD fallback for synchronous CTR
crypto: arm64/chacha20 - take may_use_simd() into account
crypto: arm64/aes-bs - implement non-SIMD fallback for AES-CTR
crypto: arm64/gcm - implement native driver using v8 Crypto Extensions
crypto: arm/ghash - add NEON accelerated fallback for vmull.p64
crypto: arm64/ghash - add NEON accelerated fallback for 64-bit PMULL
crypto: arm/aes - avoid expanded lookup tables in the final round
crypto: arm64/aes - avoid expanded lookup tables in the final round
Arnd Bergmann (3):
crypto: serpent - improve __serpent_setkey with UBSAN
crypto: ccp - avoid uninitialized variable warning
crypto: ccp - select CONFIG_CRYPTO_RSA
Arvind Yadav (2):
crypto: sahara - make of_device_ids const
crypto: sahara - constify platform_device_id
Brijesh Singh (6):
crypto: ccp - Use devres interface to allocate PCI/iomap and cleanup
crypto: ccp - Introduce the AMD Secure Processor device
crypto: ccp - Abstract interrupt registeration
crypto: ccp - rename ccp driver initialize files as sp device
crypto: ccp - remove ccp_present() check from device initialize
crypto: ccp - remove duplicate module version and author entry
Chris Gorman (1):
crypto: geode-aes - fixed coding style warnings and error
Christophe Jaillet (2):
crypto: inside-secure - fix an error handling path in safexcel_probe()
crypto: cavium/nitrox - Fix an error handling path in 'nitrox_probe()'
Colin Ian King (2):
crypto: qat - fix spelling mistake: "runing" -> "running"
Crypto: atmel-ecc: Make a couple of local functions static
Corentin LABBE (2):
crypto: sun4i-ss - support the Security System PRNG
crypto: cavium - add release_firmware to all return case
Fabio Estevam (1):
crypto: caam - Remove unused dentry members
Gary R Hook (12):
crypto: ccp - Fix some line spacing
crypto: ccp - Change all references to use the JOB ID macro
crypto: ccp - Provide an error path for debugfs setup failure
crypto: ccp - Update copyright dates for 2017.
crypto: ccp - Fix base RSA function for version 5 CCPs
crypto: Add akcipher_set_reqsize() function
crypto: ccp - Add support for RSA on the CCP
csrypto: ccp - Expand RSA support for a v5 ccp
crypto: ccp - Fix XTS-AES-128 support on v5 CCPs
crypto: ccp - Add a call to xts_check_key()
crypto: ccp - Rework the unit-size check for XTS-AES
crypto: ccp - Add XTS-AES-256 support for CCP version 5
Gustavo A. R. Silva (11):
crypto: ccp - print error message on platform_get_irq failure
crypto: mediatek - fix error return code in mtk_crypto_probe()
crypto: mxc-scc - fix error code in mxc_scc_probe()
crypto: mxs-dcp - print error message on platform_get_irq failure
crypto: omap-aes - fix error return code in omap_aes_probe()
crypto: omap-des - fix error return code in omap_des_probe()
crypto: brcm - add NULL check on of_match_device() return value
crypto: omap-sham - remove unnecessary static in omap_sham_remove()
crypto: atmel-sha - remove unnecessary static in atmel_sha_remove()
crypto: atmel-tdes - remove unnecessary static in atmel_tdes_remove()
crypto: img-hash - remove unnecessary static in img_hash_remove()
Harald Freudenberger (2):
hwrng: use rng source with best quality
hwrng: remember rng chosen by user
Herbert Xu (1):
Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Horia GeantÄ (13):
crypto: caam/qi - fix typo in authenc alg driver name
crypto: caam/qi - fix compilation with DEBUG enabled
crypto: caam/qi - fix compilation with CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y
crypto: caam/qi - properly set IV after {en,de}crypt
crypto: caam/qi - handle large number of S/Gs case
crypto: caam/qi - fix AD length endianness in S/G entry
crypto: caam/qi - explicitly set dma_ops
crypto: caam/qi - remove unused header sg_sw_sec4.h
crypto: caam/qi - lower driver verbosity
crypto: caam - remove unused sg_to_sec4_sg_len()
crypto: caam - clean-up in caam_init_rng()
crypto: caam/jr - add support for DPAA2 parts
crypto: tcrypt - remove AES-XTS-192 speed tests
Jason A. Donenfeld (1):
crypto: rng - ensure that the RNG is ready before using
Lars Persson (3):
dt-bindings: crypto: add ARTPEC crypto
crypto: axis - add ARTPEC-6/7 crypto accelerator driver
MAINTAINERS: Add ARTPEC crypto maintainer
Martin Kaiser (1):
hwrng: mx-rngc - add a driver for Freescale RNGC
Mogens Lauridsen (2):
crypto: sahara - Fix dma unmap direction
crypto: sahara - Remove leftover from previous used spinlock
Pan Bian (1):
crypto: ccp - use dma_mapping_error to check map error
PrasannaKumar Muralidharan (1):
hwrng: Kconfig - Correct help text about feeding entropy pool
Rabin Vincent (1):
crypto: hash - add crypto_(un)register_ahashes()
Rob Herring (1):
crypto: n2 - Convert to using %pOF instead of full_name
Stefan Agner (1):
lib/mpi: fix build with clang
Steffen Trumtrar (1):
Documentation: devicetree: add Freescale RNGC binding
Stephan Mueller (7):
crypto: algif_skcipher - overhaul memory management
crypto: algif_aead - overhaul memory management
crypto: algif - return error code when no data was processed
crypto: algif_aead - copy AAD from src to dst
crypto: af_alg - consolidation of duplicate code
crypto: algif_aead - fix comment regarding memory layout
crypto: af_alg - get_page upon reassignment to TX SGL
Tudor Ambarus (2):
crypto: caam - remove unused variables in caam_drv_private
crypto: caam - fix condition for the jump over key(s) command
Tudor-Dan Ambarus (5):
crypto: kpp - add get/set_flags helpers
crypto: atmel-ecc - introduce Microchip / Atmel ECC driver
MAINTAINERS: add a maintainer for Microchip / Atmel ECC driver
crypto: ecdh - fix concurrency on shared secret and pubkey
crypto: atmel-ecc - fix signed integer to u8 assignment
Xulin Sun (1):
crypto: caam - free qman_fq after kill_fq
Zain Wang (3):
crypto: rockchip - move the crypto completion from interrupt context
crypto: rockchip - return the err code when unable dequeue the crypto request
crypto: rockchip - Don't dequeue the request when device is busy
Zeng, Xin (1):
crypto: virtio - Refacotor virtio_crypto driver for new virito crypto services
lionel.debieve@xxxxxx (5):
crypto: stm32 - CRC use relaxed function
crypto: stm32 - solve crc issue during unbind
crypto: stm32 - Rename module to use generic crypto
dt-bindings: Document STM32 HASH bindings
crypto: stm32 - Support for STM32 HASH module
raveendra padasalagi (1):
crypto: brcm - Support more FlexRM rings than SPU engines.
.../devicetree/bindings/crypto/artpec6-crypto.txt | 16 +
.../devicetree/bindings/crypto/atmel-crypto.txt | 13 +
.../devicetree/bindings/crypto/st,stm32-hash.txt | 30 +
Documentation/devicetree/bindings/rng/imx-rngc.txt | 21 +
MAINTAINERS | 7 +
arch/arm/crypto/Kconfig | 5 +-
arch/arm/crypto/aes-ce-glue.c | 4 +-
arch/arm/crypto/aes-cipher-core.S | 88 +-
arch/arm/crypto/aes-neonbs-glue.c | 5 +-
arch/arm/crypto/ghash-ce-core.S | 234 +-
arch/arm/crypto/ghash-ce-glue.c | 24 +-
arch/arm64/crypto/Kconfig | 22 +-
arch/arm64/crypto/aes-ce-ccm-core.S | 30 +-
arch/arm64/crypto/aes-ce-ccm-glue.c | 174 +-
arch/arm64/crypto/aes-ce-cipher.c | 55 +-
arch/arm64/crypto/aes-ce.S | 12 +-
arch/arm64/crypto/aes-cipher-core.S | 152 +-
arch/arm64/crypto/aes-ctr-fallback.h | 53 +
arch/arm64/crypto/aes-glue.c | 63 +-
arch/arm64/crypto/aes-neonbs-glue.c | 53 +-
arch/arm64/crypto/chacha20-neon-glue.c | 5 +-
arch/arm64/crypto/crc32-ce-glue.c | 11 +-
arch/arm64/crypto/crct10dif-ce-glue.c | 13 +-
arch/arm64/crypto/ghash-ce-core.S | 401 ++-
arch/arm64/crypto/ghash-ce-glue.c | 517 +++-
arch/arm64/crypto/sha1-ce-glue.c | 18 +-
arch/arm64/crypto/sha2-ce-glue.c | 30 +-
arch/arm64/crypto/sha256-glue.c | 1 +
arch/sparc/crypto/aes_glue.c | 3 +-
arch/x86/crypto/aesni-intel_glue.c | 4 +-
arch/x86/crypto/blowfish_glue.c | 3 +-
arch/x86/crypto/cast5_avx_glue.c | 3 +-
arch/x86/crypto/des3_ede_glue.c | 3 +-
crypto/Kconfig | 2 +
crypto/af_alg.c | 691 +++++
crypto/ahash.c | 29 +
crypto/algapi.c | 25 +-
crypto/algif_aead.c | 864 ++----
crypto/algif_skcipher.c | 834 +----
crypto/ctr.c | 3 +-
crypto/ecdh.c | 51 +-
crypto/pcbc.c | 12 +-
crypto/rng.c | 6 +-
crypto/scompress.c | 55 +-
crypto/serpent_generic.c | 77 +-
crypto/tcrypt.c | 8 +-
drivers/char/hw_random/Kconfig | 20 +-
drivers/char/hw_random/Makefile | 1 +
drivers/char/hw_random/core.c | 42 +-
drivers/char/hw_random/imx-rngc.c | 331 ++
drivers/crypto/Kconfig | 49 +-
drivers/crypto/Makefile | 4 +-
drivers/crypto/atmel-ecc.c | 781 +++++
drivers/crypto/atmel-ecc.h | 128 +
drivers/crypto/atmel-sha.c | 2 +-
drivers/crypto/atmel-tdes.c | 2 +-
drivers/crypto/axis/Makefile | 1 +
drivers/crypto/axis/artpec6_crypto.c | 3192 ++++++++++++++++++++
drivers/crypto/bcm/cipher.c | 114 +-
drivers/crypto/bcm/cipher.h | 13 +-
drivers/crypto/caam/caamalg.c | 66 +-
drivers/crypto/caam/caamalg_desc.c | 5 +-
drivers/crypto/caam/caamalg_qi.c | 55 +-
drivers/crypto/caam/caamhash.c | 7 +-
drivers/crypto/caam/caamrng.c | 6 +-
drivers/crypto/caam/ctrl.c | 127 +-
drivers/crypto/caam/ctrl.h | 2 +
drivers/crypto/caam/error.c | 40 +
drivers/crypto/caam/error.h | 4 +
drivers/crypto/caam/intern.h | 11 -
drivers/crypto/caam/jr.c | 7 +-
drivers/crypto/caam/qi.c | 30 +-
drivers/crypto/caam/qi.h | 3 +
drivers/crypto/caam/regs.h | 1 +
drivers/crypto/caam/sg_sw_qm2.h | 81 +
drivers/crypto/caam/sg_sw_sec4.h | 43 +-
drivers/crypto/cavium/cpt/cptpf_main.c | 13 +-
drivers/crypto/cavium/nitrox/nitrox_main.c | 4 +-
drivers/crypto/ccp/Kconfig | 22 +-
drivers/crypto/ccp/Makefile | 7 +-
drivers/crypto/ccp/ccp-crypto-aes-galois.c | 2 +-
drivers/crypto/ccp/ccp-crypto-aes-xts.c | 96 +-
drivers/crypto/ccp/ccp-crypto-des3.c | 2 +-
drivers/crypto/ccp/ccp-crypto-main.c | 21 +-
drivers/crypto/ccp/ccp-crypto-rsa.c | 299 ++
drivers/crypto/ccp/ccp-crypto-sha.c | 2 +-
drivers/crypto/ccp/ccp-crypto.h | 36 +-
drivers/crypto/ccp/ccp-debugfs.c | 15 +-
drivers/crypto/ccp/ccp-dev-v3.c | 20 +-
drivers/crypto/ccp/ccp-dev-v5.c | 28 +-
drivers/crypto/ccp/ccp-dev.c | 134 +-
drivers/crypto/ccp/ccp-dev.h | 30 +-
drivers/crypto/ccp/ccp-dmaengine.c | 2 +-
drivers/crypto/ccp/ccp-ops.c | 133 +-
drivers/crypto/ccp/ccp-pci.c | 356 ---
drivers/crypto/ccp/ccp-platform.c | 293 --
drivers/crypto/ccp/sp-dev.c | 277 ++
drivers/crypto/ccp/sp-dev.h | 133 +
drivers/crypto/ccp/sp-pci.c | 276 ++
drivers/crypto/ccp/sp-platform.c | 256 ++
drivers/crypto/geode-aes.c | 17 +-
drivers/crypto/img-hash.c | 2 +-
drivers/crypto/inside-secure/safexcel.c | 5 +-
drivers/crypto/mediatek/mtk-platform.c | 2 +-
drivers/crypto/mxc-scc.c | 4 +-
drivers/crypto/mxs-dcp.c | 8 +-
drivers/crypto/n2_core.c | 60 +-
drivers/crypto/omap-aes.c | 1 +
drivers/crypto/omap-des.c | 3 +-
drivers/crypto/omap-sham.c | 2 +-
drivers/crypto/qat/qat_common/adf_aer.c | 2 +-
drivers/crypto/rockchip/rk3288_crypto.c | 74 +-
drivers/crypto/rockchip/rk3288_crypto.h | 15 +-
drivers/crypto/rockchip/rk3288_crypto_ablkcipher.c | 103 +-
drivers/crypto/rockchip/rk3288_crypto_ahash.c | 119 +-
drivers/crypto/sahara.c | 14 +-
drivers/crypto/stm32/Kconfig | 19 +-
drivers/crypto/stm32/Makefile | 4 +-
drivers/crypto/stm32/stm32-hash.c | 1575 ++++++++++
drivers/crypto/stm32/stm32_crc32.c | 17 +-
drivers/crypto/sunxi-ss/Makefile | 1 +
drivers/crypto/sunxi-ss/sun4i-ss-core.c | 30 +
drivers/crypto/sunxi-ss/sun4i-ss-prng.c | 56 +
drivers/crypto/sunxi-ss/sun4i-ss.h | 11 +
drivers/crypto/virtio/virtio_crypto_algs.c | 109 +-
drivers/crypto/virtio/virtio_crypto_common.h | 22 +-
drivers/crypto/virtio/virtio_crypto_core.c | 37 +-
drivers/crypto/vmx/aes_ctr.c | 3 +-
drivers/md/dm-crypt.c | 11 +-
include/crypto/algapi.h | 23 +-
include/crypto/if_alg.h | 170 ++
include/crypto/internal/akcipher.h | 6 +
include/crypto/internal/hash.h | 2 +
include/crypto/kpp.h | 10 +
include/linux/ccp.h | 11 +-
lib/mpi/longlong.h | 24 +-
136 files changed, 11758 insertions(+), 3169 deletions(-)
Thanks,
--
Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt