Hi Linus: Here is the crypto update for 5.1: Please note that there is a merge of the Freescale SoC tree in order to pull in changes required by patches to the caam/qi2 driver. API: - Add helper for simple skcipher modes. - Add helper to register multiple templates. - Set CRYPTO_TFM_NEED_KEY when setkey fails. - Require neither or both of export/import in shash. - AEAD decryption test vectors are now generated from encryption ones. - New option CONFIG_CRYPTO_MANAGER_EXTRA_TESTS that includes random fuzzing. Algorithms: - Conversions to skcipher and helper for many templates. - Add more test vectors for nhpoly1305 and adiantum. Drivers: - Add crypto4xx prng support. - Add xcbc/cmac/ecb support in caam. - Add AES support for Exynos5433 in s5p. - Remove sha384/sha512 from artpec7 as hardware cannot do partial hash. Please pull from git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6.git linus Ard Biesheuvel (9): crypto: arm64/aes-ccm - fix logical bug in AAD MAC handling crypto: arm64/aes-ccm - fix bugs in non-NEON fallback routine crypto: arm64/aes-ccm - don't use an atomic walk needlessly crypto: arm64/ghash - register PMULL variants as separate algos crypto: arm/crct10dif - revert to C code for short inputs crypto: arm64/crct10dif - revert to C code for short inputs crypto: arm/crct10dif - remove dead code crypto: arm64/crct10dif - remove dead code crypto: arm64/crct10dif - register PMULL variants as separate algos Atul Gupta (3): crypto: chelsio - avoid using sa_entry imm crypto: chelsio - Inline single pdu only crypto: chelsio - Fixed Traffic Stall Chengguang Xu (1): crypto: caam - remove redundant likely/unlikely annotation Christian Lamparter (1): crypto: crypto4xx - add prng crypto support Christopher Diaz Riveros (1): crypto: testmgr - use kmemdup Colin Ian King (1): crypto: virtio - clean up indentation, replace spaces with tab Corentin Labbe (1): crypto: crypto4xx - Fix wrong ppc4xx_trng_probe()/ppc4xx_trng_remove() arguments David Tolnay (1): hwrng: virtio - Avoid repeated init of completion Eric Biggers (69): crypto: cipher - remove struct cipher_desc crypto: cfb - add missing 'chunksize' property crypto: cfb - remove bogus memcpy() with src == dest crypto: ofb - fix handling partial blocks and make thread-safe crypto: pcbc - remove bogus memcpy()s with src == dest crypto: skcipher - add helper for simple block cipher modes crypto: cbc - convert to skcipher_alloc_instance_simple() crypto: cfb - convert to skcipher_alloc_instance_simple() crypto: ctr - convert to skcipher API crypto: ecb - convert to skcipher API crypto: keywrap - convert to skcipher API crypto: ofb - convert to skcipher_alloc_instance_simple() crypto: pcbc - remove ability to wrap internal ciphers crypto: pcbc - convert to skcipher_alloc_instance_simple() crypto: arc4 - convert to skcipher API crypto: null - convert ecb-cipher_null to skcipher API crypto: algapi - remove crypto_alloc_instance() crypto: algapi - reject NULL crypto_spawn::inst crypto: hash - set CRYPTO_TFM_NEED_KEY if ->setkey() fails crypto: skcipher - set CRYPTO_TFM_NEED_KEY if ->setkey() fails crypto: aead - set CRYPTO_TFM_NEED_KEY if ->setkey() fails crypto: shash - require neither or both ->export() and ->import() crypto: shash - remove pointless checks of shash_alg::{export,import} crypto: gcm - use correct endianness type in gcm_hash_len() crypto: rsa-pkcs1pad - include <crypto/internal/rsa.h> crypto: streebog - use correct endianness type crypto: testmgr - handle endianness correctly in alg_test_crc32c() crypto: user - forward declare crypto_nlsk crypto: x86/aesni-gcm - make 'struct aesni_gcm_tfm_s' static const crypto: tgr192 - fix unaligned memory access crypto: stat - remove unused mutex crypto: af_alg - make some functions static crypto: af_alg - use list_for_each_entry() in af_alg_count_tsgl() crypto: af_alg - remove redundant initializations of sk_family crypto: testmgr - skip AEAD encryption test vectors with novrfy set crypto: testmgr - add ccm(aes) decryption tests to encryption tests crypto: testmgr - add gcm(aes) decryption tests to encryption tests crypto: testmgr - add rfc4543(gcm(aes)) decryption test to encryption tests crypto: testmgr - unify the AEAD encryption and decryption test vectors crypto: bcm - remove unused function do_decrypt() crypto: clarify name of WEAK_KEY request flag crypto: testmgr - skip crc32c context test for ahash algorithms crypto: x86/crct10dif-pcl - cleanup and optimizations crypto: arm/crct10dif-ce - cleanup and optimizations crypto: arm64/crct10dif-ce - cleanup and optimizations crypto: aegis - fix handling chunked inputs crypto: morus - fix handling chunked inputs crypto: x86/aegis - fix handling chunked inputs and MAY_SLEEP crypto: x86/morus - fix handling chunked inputs and MAY_SLEEP crypto: x86/aesni-gcm - fix crash on empty plaintext crypto: ahash - fix another early termination in hash walk crypto: arm64/aes-neonbs - fix returning final keystream block crypto: testmgr - add testvec_config struct and helper functions crypto: testmgr - introduce CONFIG_CRYPTO_MANAGER_EXTRA_TESTS crypto: testmgr - implement random testvec_config generation crypto: testmgr - convert skcipher testing to use testvec_configs crypto: testmgr - convert aead testing to use testvec_configs crypto: testmgr - convert hash testing to use testvec_configs crypto: testmgr - check for skcipher_request corruption crypto: testmgr - check for aead_request corruption crypto: testmgr - remove extra bytes from 3DES-CTR IVs crypto: testmgr - support checking skcipher output IV crypto: testmgr - add iv_out to all CBC test vectors crypto: testmgr - add iv_out to all CTR test vectors crypto: arm64/aes-blk - update IV after partial final CTR block crypto: arm/aes-ce - update IV after partial final CTR block crypto: nhpoly1305 - add a test vector with len % 16 != 0 crypto: adiantum - add 1536 and 4096-byte test vectors crypto: cavium/zip - fix collision with generic cra_driver_name Franck LENORMAND (1): crypto: caam - fix hash context DMA unmap size Gilad Ben-Yossef (4): crypto: ccree - unmap buffer before copying IV crypto: ccree - shared irq lines are not a bug crypto: ccree - don't copy zero size ciphertext MAINTAINERS: crypto: ccree: remove co-maintainer Greg Kroah-Hartman (7): crypto: qat - no need to check return value of debugfs_create functions crypto: ccree - no need to check return value of debugfs_create functions crypto: axis - no need to check return value of debugfs_create functions crypto: cavium/zip - no need to check return value of debugfs_create functions crypto: cavium/nitrox - no need to check return value of debugfs_create functions crypto: ccp - no need to check return value of debugfs_create functions crypto: caam - no need to check return value of debugfs_create functions Gustavo A. R. Silva (2): crypto: ccree - fix missing break in switch statement crypto: af_alg - use struct_size() in sock_kfree_s() Hadar Gat (4): crypto: ccree - improve error handling crypto: ccree - add error message crypto: ccree - fix free of unallocated mlli buffer crypto: ccree - remove legacy leftover Herbert Xu (2): crypto: qat - Remove unused goto label Merge git://git.kernel.org/pub/scm/linux/kernel/git/leo/linux next Hook, Gary (1): crypto: ccp - Update copyright notices and dates Horia Geantă (8): crypto: caam - move shared symbols in a common location crypto: caam - handle zero-length AEAD output crypto: caam - fix DMA mapping of stack memory crypto: caam/qi2 - use affine DPIOs crypto: caam/qi2 - rate-limit enqueue failure prints crypto: caam/qi2 - relax busy polling while enqueuing FDs crypto: caam - fix DMA mapping xcbc key twice crypto: caam - generate hash keys in-place Ioana Ciornei (6): soc: fsl: dpio: cleanup the cpu array on dpaa2_io_down soc: fsl: dpio: use a cpumask to identify which cpus are unused soc: fsl: dpio: keep a per dpio device MC portal soc: fsl: dpio: store a backpointer to the device backing the dpaa2_io soc: fsl: dpio: add a device_link at dpaa2_io_service_register bus: fsl-mc: automatically add a device_link on fsl_mc_[portal,object]_allocate Iuliana Prodan (8): crypto: caam - fix error reporting for caam_hash_alloc crypto: caam - create ahash shared descriptors only once crypto: caam - add support for xcbc(aes) crypto: caam - add support for cmac(aes) crypto: caam - use mapped_{src,dst}_nents for job descriptor crypto: export arc4 defines crypto: caam - add ecb(*) support crypto: caam - weak key checking for cbc des, 3des Jonas Gorski (1): hwrng: bcm2835 - fix probe as platform device Julia Lawall (1): crypto: crypto4xx - add missing of_node_put after of_device_is_available Kamil Konieczny (3): crypto: s5p - update iv after AES-CBC op end dt-bindings: crypto: document Exynos5433 SlimSSS crypto: s5p - add AES support for Exynos5433 Krzysztof Kozlowski (1): crypto: s5p-sss - Use AES_BLOCK_SIZE define instead of number Lars Persson (6): crypto: axis - remove sha384 support for artpec7 crypto: axis - remove sha512 support for artpec7 crypto: axis - fix for recursive locking from bottom half crypto: axis - give DMA the start of the status buffer crypto: axis - support variable AEAD tag length crypto: axis - use a constant time tag compare Lendacky, Thomas (1): crypto: ccp - Update driver messages to remove some confusion Mao Wenan (1): crypto: stm32 - drop pointless static qualifier in stm32_hash_remove() Masahiro Yamada (2): crypto: prefix header search paths with $(srctree)/ crypto: bcm - remove -I. header search path and unused macro define Milan Broz (1): crypto: testmgr - mark crc32 checksum as FIPS allowed Pankaj Gupta (1): crypto: caam - fixed handling of sg list Roland Hieber (1): crypto: caam - fix indentation of goto label Roy Pledge (1): soc: fsl: dpio: perform DPIO Reset on Probe Sebastian Andrzej Siewior (1): crypto: chtls - remove cdev_list_lock Singh, Brijesh (1): crypto: ccp - fix the SEV probe in kexec boot path Thomas Gleixner (4): crypto: aegis - Cleanup license mess crypto: morus - Cleanup license mess crypto: aegis - Convert to SPDX license identifiers crypto: morus - Convert to SPDX license identifiers Tommi Hirvola (1): crypto: x86/poly1305 - Clear key material from stack in SSE2 variant Vincent Whitchurch (1): crypto: axis - move request unmap outside of the queue lock Vitaly Chikunov (1): crypto: testmgr - split akcipher tests by a key type Xiongfeng Wang (5): crypto: api - add a helper to (un)register a array of templates crypto: ccm - use template array registering API to simplify the code crypto: gcm - use template array registering API to simplify the code crypto: ctr - use template array registering API to simplify the code crypto: chacha20poly1305 - use template array registering API to simplify the code YueHaibing (8): crypto: chtls - remove set but not used variables 'err, adap, request, hws' crypto: ux500 - catch dma submission error crypto: chelsio - check set_msg_len overflow in generate_b0 crypto: chelsio - remove set but not used variables 'adap' crypto: brcm - Fix some set-but-not-used warning crypto: seqiv - Use kmemdup in seqiv_aead_encrypt() crypto: chelsio - Fix passing zero to 'PTR_ERR' warning in chcr_aead_op crypto: marvell - Remove set but not used variable 'ivsize' Zhang Zhijie (2): crypto: rockchip - fix scatterlist nents error crypto: rockchip - update new iv to device in multiple operations haco (1): crypto: Kconfig - Fix typo in "pclmul" .../devicetree/bindings/crypto/samsung-slimsss.txt | 19 + MAINTAINERS | 1 - arch/arm/crypto/aes-ce-core.S | 26 +- arch/arm/crypto/crct10dif-ce-core.S | 568 +- arch/arm/crypto/crct10dif-ce-glue.c | 25 +- arch/arm64/crypto/aes-ce-ccm-core.S | 5 +- arch/arm64/crypto/aes-ce-ccm-glue.c | 8 +- arch/arm64/crypto/aes-modes.S | 3 +- arch/arm64/crypto/aes-neonbs-core.S | 8 +- arch/arm64/crypto/crct10dif-ce-core.S | 513 +- arch/arm64/crypto/crct10dif-ce-glue.c | 75 +- arch/arm64/crypto/ghash-ce-glue.c | 118 +- arch/s390/crypto/des_s390.c | 4 +- arch/sparc/crypto/des_glue.c | 4 +- arch/x86/crypto/aegis128-aesni-glue.c | 38 +- arch/x86/crypto/aegis128l-aesni-glue.c | 38 +- arch/x86/crypto/aegis256-aesni-glue.c | 38 +- arch/x86/crypto/aesni-intel_glue.c | 47 +- arch/x86/crypto/crct10dif-pcl-asm_64.S | 782 +- arch/x86/crypto/crct10dif-pclmul_glue.c | 12 +- arch/x86/crypto/morus1280_glue.c | 40 +- arch/x86/crypto/morus640_glue.c | 39 +- arch/x86/crypto/poly1305-sse2-x86_64.S | 4 + crypto/Kconfig | 14 +- crypto/aead.c | 4 +- crypto/aegis.h | 7 +- crypto/aegis128.c | 20 +- crypto/aegis128l.c | 20 +- crypto/aegis256.c | 20 +- crypto/af_alg.c | 36 +- crypto/ahash.c | 42 +- crypto/algapi.c | 63 +- crypto/arc4.c | 87 +- crypto/cbc.c | 131 +- crypto/ccm.c | 78 +- crypto/cfb.c | 139 +- crypto/chacha20poly1305.c | 37 +- crypto/crypto_null.c | 57 +- crypto/crypto_user_stat.c | 4 - crypto/ctr.c | 200 +- crypto/des_generic.c | 4 +- crypto/ecb.c | 151 +- crypto/gcm.c | 75 +- crypto/keywrap.c | 198 +- crypto/morus1280.c | 19 +- crypto/morus640.c | 19 +- crypto/ofb.c | 202 +- crypto/pcbc.c | 143 +- crypto/rsa-pkcs1pad.c | 1 + crypto/seqiv.c | 7 +- crypto/shash.c | 27 +- crypto/skcipher.c | 158 +- crypto/streebog_generic.c | 2 +- crypto/testmgr.c | 2760 ++-- crypto/testmgr.h | 15649 ++++++++----------- crypto/tgr192.c | 6 +- drivers/bus/fsl-mc/fsl-mc-allocator.c | 11 + drivers/bus/fsl-mc/mc-io.c | 13 + drivers/char/hw_random/bcm2835-rng.c | 18 +- drivers/char/hw_random/virtio-rng.c | 2 +- drivers/crypto/amcc/crypto4xx_core.c | 87 + drivers/crypto/amcc/crypto4xx_core.h | 4 + drivers/crypto/amcc/crypto4xx_reg_def.h | 1 + drivers/crypto/amcc/crypto4xx_trng.c | 4 +- drivers/crypto/amcc/crypto4xx_trng.h | 4 +- drivers/crypto/atmel-tdes.c | 2 +- drivers/crypto/axis/artpec6_crypto.c | 326 +- drivers/crypto/bcm/Makefile | 2 - drivers/crypto/bcm/cipher.c | 10 +- drivers/crypto/bcm/cipher.h | 4 +- drivers/crypto/bcm/util.c | 40 - drivers/crypto/bcm/util.h | 6 - drivers/crypto/caam/Kconfig | 1 + drivers/crypto/caam/caamalg.c | 238 +- drivers/crypto/caam/caamalg_desc.c | 18 +- drivers/crypto/caam/caamalg_qi.c | 29 +- drivers/crypto/caam/caamalg_qi2.c | 85 +- drivers/crypto/caam/caamalg_qi2.h | 2 + drivers/crypto/caam/caamhash.c | 429 +- drivers/crypto/caam/caamhash_desc.c | 68 +- drivers/crypto/caam/caamhash_desc.h | 8 + drivers/crypto/caam/compat.h | 1 + drivers/crypto/caam/ctrl.c | 25 +- drivers/crypto/caam/error.c | 6 + drivers/crypto/caam/intern.h | 1 - drivers/crypto/caam/key_gen.c | 30 +- drivers/crypto/caam/qi.c | 4 +- drivers/crypto/cavium/nitrox/nitrox_debugfs.c | 27 +- drivers/crypto/cavium/nitrox/nitrox_debugfs.h | 5 +- drivers/crypto/cavium/nitrox/nitrox_main.c | 4 +- drivers/crypto/cavium/zip/zip_main.c | 58 +- drivers/crypto/ccp/ccp-crypto-aes-cmac.c | 2 +- drivers/crypto/ccp/ccp-crypto-des3.c | 2 +- drivers/crypto/ccp/ccp-crypto-sha.c | 2 +- drivers/crypto/ccp/ccp-debugfs.c | 36 +- drivers/crypto/ccp/ccp-ops.c | 2 +- drivers/crypto/ccp/psp-dev.c | 37 +- drivers/crypto/ccp/psp-dev.h | 2 +- drivers/crypto/ccp/sp-dev.c | 2 +- drivers/crypto/ccp/sp-dev.h | 2 +- drivers/crypto/ccp/sp-pci.c | 6 +- drivers/crypto/ccp/sp-platform.c | 2 +- drivers/crypto/ccree/cc_buffer_mgr.c | 87 +- drivers/crypto/ccree/cc_cipher.c | 10 +- drivers/crypto/ccree/cc_debugfs.c | 22 +- drivers/crypto/ccree/cc_debugfs.h | 8 +- drivers/crypto/ccree/cc_driver.c | 13 +- drivers/crypto/ccree/cc_driver.h | 2 - drivers/crypto/chelsio/Makefile | 2 +- drivers/crypto/chelsio/chcr_algo.c | 12 +- drivers/crypto/chelsio/chcr_core.h | 2 +- drivers/crypto/chelsio/chcr_ipsec.c | 42 +- drivers/crypto/chelsio/chtls/Makefile | 3 +- drivers/crypto/chelsio/chtls/chtls_io.c | 12 +- drivers/crypto/chelsio/chtls/chtls_main.c | 1 - drivers/crypto/hifn_795x.c | 3 +- drivers/crypto/inside-secure/safexcel_cipher.c | 2 +- drivers/crypto/ixp4xx_crypto.c | 4 +- drivers/crypto/marvell/cipher.c | 4 +- drivers/crypto/n2_core.c | 2 +- drivers/crypto/omap-des.c | 2 +- drivers/crypto/picoxcell_crypto.c | 3 +- drivers/crypto/qat/qat_c3xxx/Makefile | 2 +- drivers/crypto/qat/qat_c3xxx/adf_drv.c | 5 - drivers/crypto/qat/qat_c3xxxvf/Makefile | 2 +- drivers/crypto/qat/qat_c3xxxvf/adf_drv.c | 5 - drivers/crypto/qat/qat_c62x/Makefile | 2 +- drivers/crypto/qat/qat_c62x/adf_drv.c | 5 - drivers/crypto/qat/qat_c62xvf/Makefile | 2 +- drivers/crypto/qat/qat_c62xvf/adf_drv.c | 5 - drivers/crypto/qat/qat_common/adf_cfg.c | 7 - drivers/crypto/qat/qat_common/adf_transport.c | 7 - .../crypto/qat/qat_common/adf_transport_debug.c | 15 - drivers/crypto/qat/qat_dh895xcc/Makefile | 2 +- drivers/crypto/qat/qat_dh895xcc/adf_drv.c | 5 - drivers/crypto/qat/qat_dh895xccvf/Makefile | 2 +- drivers/crypto/qat/qat_dh895xccvf/adf_drv.c | 5 - drivers/crypto/qce/ablkcipher.c | 4 +- drivers/crypto/rockchip/rk3288_crypto.c | 2 +- drivers/crypto/rockchip/rk3288_crypto.h | 4 +- drivers/crypto/rockchip/rk3288_crypto_ablkcipher.c | 41 +- drivers/crypto/rockchip/rk3288_crypto_ahash.c | 2 +- drivers/crypto/s5p-sss.c | 64 +- drivers/crypto/stm32/stm32-hash.c | 2 +- drivers/crypto/sunxi-ss/sun4i-ss-cipher.c | 2 +- drivers/crypto/talitos.c | 2 +- drivers/crypto/ux500/cryp/cryp_core.c | 26 +- drivers/crypto/virtio/virtio_crypto_algs.c | 2 +- drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c | 9 +- drivers/soc/fsl/dpio/dpio-cmd.h | 1 + drivers/soc/fsl/dpio/dpio-driver.c | 41 +- drivers/soc/fsl/dpio/dpio-service.c | 41 +- drivers/soc/fsl/dpio/dpio.c | 23 + drivers/soc/fsl/dpio/dpio.h | 4 + fs/crypto/keyinfo.c | 4 +- fs/ecryptfs/crypto.c | 5 +- include/crypto/algapi.h | 8 +- include/crypto/arc4.h | 13 + include/crypto/if_alg.h | 7 - include/crypto/internal/cryptouser.h | 2 + include/crypto/internal/hash.h | 6 +- include/crypto/internal/skcipher.h | 15 + include/crypto/morus1280_glue.h | 7 +- include/crypto/morus640_glue.h | 7 +- include/crypto/morus_common.h | 7 +- include/crypto/streebog.h | 2 +- include/crypto/xts.h | 4 +- include/linux/crypto.h | 10 +- include/linux/fsl/mc.h | 1 + include/soc/fsl/dpaa2-io.h | 11 +- 170 files changed, 11316 insertions(+), 13833 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