Crypto Update for 4.18

From: Herbert Xu
Date: Mon Jun 04 2018 - 13:16:10 EST


Hi Linus:

Here is the crypto update for 4.18:

API:

- Decryption test vectors are now automatically generated from
encryption test vectors.

Algorithms:

- Fix unaligned access issues in crc32/crc32c.
- Add zstd compression algorithm.
- Add AEGIS.
- Add MORUS.

Drivers:

- Add accelerated AEGIS/MORUS on x86.
- Add accelerated SM4 on arm64.
- Removed x86 assembly salsa implementation as it is slower than C.
- Add authenc(hmac(sha*), cbc(aes)) support in inside-secure.
- Add ctr(aes) support in crypto4xx.
- Add hardware key support in ccree.
- Add support for new Centaur CPU in via-rng.


Please pull from

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


Adam Langley (1):
crypto: clarify licensing of OpenSSL asm code

Antoine Tenart (10):
crypto: inside-secure - remove VLAs
crypto: inside-secure - rework cipher functions for future AEAD support
crypto: inside-secure - rework the alg type settings in the context
crypto: inside-secure - make the context control size dynamic
crypto: inside-secure - make the key and context size computation dynamic
crypto: inside-secure - fix the hash then encrypt/decrypt types
crypto: inside-secure - improve error reporting
crypto: inside-secure - authenc(hmac(sha256), cbc(aes)) support
crypto: inside-secure - authenc(hmac(sha224), cbc(aes)) support
crypto: inside-secure - authenc(hmac(sha1), cbc(aes)) support

Ard Biesheuvel (12):
crypto: sm4 - export encrypt/decrypt routines to other drivers
crypto: arm64 - add support for SM4 encryption using special instructions
crypto: arm64/sha1-ce - yield NEON after every block of input
crypto: arm64/sha2-ce - yield NEON after every block of input
crypto: arm64/aes-ccm - yield NEON after every block of input
crypto: arm64/aes-blk - yield NEON after every block of input
crypto: arm64/aes-bs - yield NEON after every block of input
crypto: arm64/aes-ghash - yield NEON after every block of input
crypto: arm64/crc32-ce - yield NEON after every block of input
crypto: arm64/crct10dif-ce - yield NEON after every block of input
crypto: arm64/sha3-ce - yield NEON after every block of input
crypto: arm64/sha512-ce - yield NEON after every block of input

Atul Gupta (7):
crypto: chelsio - request to HW should wrap
crypto: chtls - generic handling of data and hdr
crypto: chtls - key len correction
crypto: chtls - wait for memory sendmsg, sendpage
crypto: chtls - dereference null variable
crypto: chtls - kbuild warnings
crypto: chtls - free beyond end rspq_skb_cache

Bin Liu (1):
crypto: omap-sham - fix memleak

Christian Lamparter (7):
crypto: crypto4xx - performance optimizations
crypto: crypto4xx - convert to skcipher
crypto: crypto4xx - avoid VLA use
crypto: crypto4xx - add aes-ctr support
crypto: crypto4xx - properly set IV after de- and encrypt
crypto: crypto4xx - extend aead fallback checks
crypto: crypto4xx - put temporary dst sg into request ctx

Colin Ian King (5):
crypto: chelsio - don't leak information from the stack to userspace
crypto: chelsio - remove redundant assignment to cdev->ports
crypto: ghash-clmulni - fix spelling mistake: "acclerated" -> "accelerated"
hwrng: n2 - fix spelling mistake: "restesting" -> "retesting"
crypto: nx - fix spelling mistake: "seqeunce" -> "sequence"

Conor McLoughlin (1):
crypto: qat - Add MODULE_FIRMWARE for all qat drivers

Eric Biggers (13):
crypto: crc32-generic - use unaligned access macros when needed
crypto: crc32c-generic - remove cra_alignmask
crypto: crc32-generic - remove __crc32_le()
crypto: testmgr - remove bfin_crc "hmac(crc32)" test vectors
crypto: testmgr - fix testing OPTIONAL_KEY hash algorithms
crypto: testmgr - add more unkeyed crc32 and crc32c test vectors
crypto: testmgr - add extra ecb(des) encryption test vectors
crypto: testmgr - make an cbc(des) encryption test vector chunked
crypto: testmgr - add extra ecb(tnepres) encryption test vectors
crypto: testmgr - add extra kw(aes) encryption test vector
crypto: testmgr - eliminate redundant decryption test vectors
crypto: x86/salsa20 - remove x86 salsa20 implementations
crypto: salsa20 - Revert "crypto: salsa20 - export generic helpers"

Fabio Estevam (4):
crypto: caam - staticize caam_get_era()
crypto: caam - allow retrieving 'era' from register
crypto: rsa - Remove unneeded error assignment
crypto: caam: - Use kmemdup() function

Geert Uytterhoeven (1):
crypto: drivers - Remove depends on HAS_DMA in case of platform dependency

Gilad Ben-Yossef (6):
crypto: ccree - enable support for hardware keys
crypto: ccree - use proper printk format
crypto: testmgr - reorder paes test lexicographically
crypto: ccree - correct host regs offset
crypto: ccree - better clock handling
crypto: ccree - silence debug prints

Gustavo A. R. Silva (1):
crypto: chelsio - Fix potential NULL pointer dereferences

Harsh Jain (3):
crypto: chelsio - Return -ENOSPC for transient busy indication.
crypt: chelsio - Send IV as Immediate for cipher algo
crypto: chelsio - Remove separate buffer used for DMA map B0 block in CCM

Horia GeantÄ (8):
crypto: caam - fix DMA mapping dir for generated IV
crypto: caam - fix IV DMA mapping and updating
crypto: caam/qi - fix IV DMA mapping and updating
crypto: caam - strip input zeros from RSA input buffer
crypto: caam - fix size of RSA prime factor q
crypto: caam - fix MC firmware detection
crypto: caam - fix rfc4543 descriptors
crypto: caam/qi - fix warning in init_cgr()

Jan Glauber (5):
crypto: cavium - Fix fallout from CONFIG_VMAP_STACK
crypto: cavium - Limit result reading attempts
crypto: cavium - Prevent division by zero
crypto: cavium - Fix statistics pending request value
crypto: cavium - Fix smp_processor_id() warnings

Janakarajan Natarajan (2):
crypto: ccp - Add DOWNLOAD_FIRMWARE SEV command
crypto: ccp - Add GET_ID SEV command

Kees Cook (2):
crypto: ecc - Actually remove stack VLA usage
crypto: tcrypt - Remove VLA usage

Mahipal Challa (1):
crypto: testmgr - Allow different compression results

Michael Ellerman (2):
crypto: vmx - Remove overly verbose printk from AES init routines
crypto: vmx - Remove overly verbose printk from AES XTS init

Nick Terrell (1):
crypto: zstd - Add zstd support

Ondrej Mosnacek (9):
crypto: aegis - Add generic AEGIS AEAD implementations
crypto: testmgr - Add test vectors for AEGIS
crypto: x86 - Add optimized AEGIS implementations
crypto: morus - Add generic MORUS AEAD implementations
crypto: testmgr - Add test vectors for MORUS
crypto: morus - Add common SIMD glue code for MORUS
crypto: x86 - Add optimized MORUS implementations
crypto: x86/aegis256 - Fix wrong key buffer size
crypto: morus - Mark MORUS SIMD glue as x86-specific

Salvatore Mesoraca (2):
crypto: api - laying defines and checks for statically allocated buffers
crypto: remove several VLAs

Tudor-Dan Ambarus (2):
crypto: authenc - don't leak pointers to authenc keys
crypto: authencesn - don't leak pointers to authenc keys

Varsha Rao (1):
crypto: cavium - Remove unnecessary parentheses

Wenwen Wang (1):
crypto: chtls - fix a missing-check bug

Wolfram Sang (1):
crypto: drivers - simplify getting .drvdata

davidwang (1):
hwrng: via - support new Centaur CPU

lionel.debieve@xxxxxx (2):
hwrng: stm32 - define default state for rng driver
hwrng: stm32 - fix pm_suspend issue

arch/arm/crypto/sha1-armv4-large.S | 10 +
arch/arm/crypto/sha256-armv4.pl | 11 +-
arch/arm/crypto/sha256-core.S_shipped | 11 +-
arch/arm/crypto/sha512-armv4.pl | 11 +-
arch/arm/crypto/sha512-core.S_shipped | 11 +-
arch/arm64/crypto/Kconfig | 6 +
arch/arm64/crypto/Makefile | 3 +
arch/arm64/crypto/aes-ce-ccm-core.S | 150 +-
arch/arm64/crypto/aes-ce.S | 15 +-
arch/arm64/crypto/aes-modes.S | 331 +-
arch/arm64/crypto/aes-neonbs-core.S | 305 +-
arch/arm64/crypto/crc32-ce-core.S | 40 +-
arch/arm64/crypto/crct10dif-ce-core.S | 32 +-
arch/arm64/crypto/ghash-ce-core.S | 113 +-
arch/arm64/crypto/ghash-ce-glue.c | 28 +-
arch/arm64/crypto/sha1-ce-core.S | 42 +-
arch/arm64/crypto/sha2-ce-core.S | 37 +-
arch/arm64/crypto/sha256-core.S_shipped | 12 +-
arch/arm64/crypto/sha3-ce-core.S | 77 +-
arch/arm64/crypto/sha512-armv8.pl | 12 +-
arch/arm64/crypto/sha512-ce-core.S | 27 +-
arch/arm64/crypto/sha512-core.S_shipped | 12 +-
arch/arm64/crypto/sm4-ce-core.S | 36 +
arch/arm64/crypto/sm4-ce-glue.c | 73 +
arch/x86/crypto/Makefile | 25 +-
arch/x86/crypto/aegis128-aesni-asm.S | 749 +
arch/x86/crypto/aegis128-aesni-glue.c | 407 +
arch/x86/crypto/aegis128l-aesni-asm.S | 825 +
arch/x86/crypto/aegis128l-aesni-glue.c | 407 +
arch/x86/crypto/aegis256-aesni-asm.S | 702 +
arch/x86/crypto/aegis256-aesni-glue.c | 407 +
arch/x86/crypto/ghash-clmulni-intel_glue.c | 2 +-
arch/x86/crypto/morus1280-avx2-asm.S | 621 +
arch/x86/crypto/morus1280-avx2-glue.c | 68 +
arch/x86/crypto/morus1280-sse2-asm.S | 895 +
arch/x86/crypto/morus1280-sse2-glue.c | 68 +
arch/x86/crypto/morus1280_glue.c | 302 +
arch/x86/crypto/morus640-sse2-asm.S | 614 +
arch/x86/crypto/morus640-sse2-glue.c | 68 +
arch/x86/crypto/morus640_glue.c | 298 +
arch/x86/crypto/salsa20-i586-asm_32.S | 938 -
arch/x86/crypto/salsa20-x86_64-asm_64.S | 805 -
arch/x86/crypto/salsa20_glue.c | 91 -
crypto/Kconfig | 138 +-
crypto/Makefile | 6 +
crypto/aegis.h | 80 +
crypto/aegis128.c | 463 +
crypto/aegis128l.c | 527 +
crypto/aegis256.c | 478 +
crypto/algapi.c | 10 +
crypto/authenc.c | 1 +
crypto/authencesn.c | 1 +
crypto/cfb.c | 7 +-
crypto/cipher.c | 3 +-
crypto/crc32_generic.c | 15 +-
crypto/crc32c_generic.c | 8 +-
crypto/ctr.c | 4 +-
crypto/cts.c | 5 +-
crypto/ecc.c | 66 +-
crypto/ecc.h | 4 +-
crypto/ecdh.c | 4 +-
crypto/morus1280.c | 549 +
crypto/morus640.c | 544 +
crypto/pcbc.c | 5 +-
crypto/rsa.c | 1 -
crypto/salsa20_generic.c | 20 +-
crypto/sm4_generic.c | 10 +-
crypto/tcrypt.c | 122 +-
crypto/testmgr.c | 613 +-
crypto/testmgr.h |47127 +++++++++++-------------
crypto/zstd.c | 265 +
drivers/char/hw_random/Kconfig | 1 +
drivers/char/hw_random/n2-drv.c | 2 +-
drivers/char/hw_random/stm32-rng.c | 9 +-
drivers/char/hw_random/via-rng.c | 2 +-
drivers/crypto/Kconfig | 16 +-
drivers/crypto/amcc/crypto4xx_alg.c | 231 +-
drivers/crypto/amcc/crypto4xx_core.c | 317 +-
drivers/crypto/amcc/crypto4xx_core.h | 35 +-
drivers/crypto/caam/caamalg.c | 231 +-
drivers/crypto/caam/caamalg_desc.c | 4 +-
drivers/crypto/caam/caamalg_qi.c | 227 +-
drivers/crypto/caam/caampkc.c | 71 +-
drivers/crypto/caam/caampkc.h | 8 +
drivers/crypto/caam/ctrl.c | 78 +-
drivers/crypto/caam/ctrl.h | 2 -
drivers/crypto/caam/intern.h | 1 +
drivers/crypto/caam/qi.c | 5 +-
drivers/crypto/caam/regs.h | 6 +
drivers/crypto/cavium/zip/common.h | 21 +
drivers/crypto/cavium/zip/zip_crypto.c | 22 +-
drivers/crypto/cavium/zip/zip_deflate.c | 4 +-
drivers/crypto/cavium/zip/zip_device.c | 4 +-
drivers/crypto/cavium/zip/zip_inflate.c | 4 +-
drivers/crypto/cavium/zip/zip_main.c | 24 +-
drivers/crypto/cavium/zip/zip_main.h | 1 -
drivers/crypto/cavium/zip/zip_regs.h | 42 +-
drivers/crypto/ccp/psp-dev.c | 143 +-
drivers/crypto/ccp/psp-dev.h | 4 +
drivers/crypto/ccree/cc_cipher.c | 350 +-
drivers/crypto/ccree/cc_cipher.h | 30 +-
drivers/crypto/ccree/cc_debugfs.c | 7 +-
drivers/crypto/ccree/cc_driver.c | 36 +-
drivers/crypto/ccree/cc_driver.h | 2 +
drivers/crypto/ccree/cc_host_regs.h | 6 +-
drivers/crypto/chelsio/chcr_algo.c | 303 +-
drivers/crypto/chelsio/chcr_algo.h | 3 +-
drivers/crypto/chelsio/chcr_core.h | 2 +-
drivers/crypto/chelsio/chcr_crypto.h | 15 +-
drivers/crypto/chelsio/chcr_ipsec.c | 35 +-
drivers/crypto/chelsio/chtls/chtls.h | 11 +-
drivers/crypto/chelsio/chtls/chtls_cm.c | 28 +-
drivers/crypto/chelsio/chtls/chtls_hw.c | 6 +-
drivers/crypto/chelsio/chtls/chtls_io.c | 158 +-
drivers/crypto/chelsio/chtls/chtls_main.c | 16 +-
drivers/crypto/exynos-rng.c | 6 +-
drivers/crypto/inside-secure/safexcel.c | 32 +
drivers/crypto/inside-secure/safexcel.h | 44 +-
drivers/crypto/inside-secure/safexcel_cipher.c | 642 +-
drivers/crypto/inside-secure/safexcel_hash.c | 23 +-
drivers/crypto/nx/nx-842-powernv.c | 2 +-
drivers/crypto/omap-sham.c | 2 +-
drivers/crypto/picoxcell_crypto.c | 6 +-
drivers/crypto/qat/qat_c3xxx/adf_drv.c | 2 +
drivers/crypto/qat/qat_c62x/adf_drv.c | 2 +
drivers/crypto/qat/qat_dh895xcc/adf_drv.c | 1 +
drivers/crypto/vmx/aes.c | 2 -
drivers/crypto/vmx/aes_cbc.c | 3 -
drivers/crypto/vmx/aes_ctr.c | 2 -
drivers/crypto/vmx/aes_xts.c | 2 -
drivers/crypto/vmx/aesp8-ppc.pl | 49 +-
drivers/crypto/vmx/ghash.c | 2 -
drivers/crypto/vmx/ghashp8-ppc.pl | 9 +
include/crypto/algapi.h | 8 +
include/crypto/morus1280_glue.h | 137 +
include/crypto/morus640_glue.h | 137 +
include/crypto/morus_common.h | 23 +
include/crypto/salsa20.h | 27 -
include/crypto/sm4.h | 3 +
include/linux/psp-sev.h | 23 +
include/uapi/linux/psp-sev.h | 12 +
141 files changed, 34902 insertions(+), 29595 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