[GIT PULL] Crypto Update for 5.14

Herbert Xu
2021-06-28T11:00:58Z

Hi Linus:

Algorithms:

- Fix rmmod crash with x86/curve25519.
- Add ECDH NIST P384.
- Generate assembly files at build-time with perl scripts on arm.
- Switch to HMAC SHA512 DRBG as default DRBG.

Drivers:

- Add sl3516 crypto engine.
- Add ECDH NIST P384 support in hisilicon/hpre.
- Add {ofb,cfb,ctr} over {aes,sm4} in hisilicon/sec.
- Add {ccm,gcm} over {aes,sm4} in hisilicon/sec.
- Enable omap hwrng driver for TI K3 family.
- Add support for AEAD algorithms in qce.

Please note that there is a merge conflict with cavium/nitrox,
the fix is to simply use the version from the crypto tree.

The following changes since commit 6efb943b8616ec53a5e444193dccf1af9ad627b5:

Linux 5.13-rc1 (2021-05-09 14:17:44 -0700)

are available in the Git repository at:

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

for you to fetch changes up to 9f38b678ffc4e2ccf167a1131c0403dc4f5e1bb7:

crypto: sl3516 - depends on HAS_IOMEM (2021-06-24 14:57:28 +0800)

----------------------------------------------------------------
Ard Biesheuvel (2):
crypto: tcrypt - enable tests for xxhash and blake2
crypto: shash - avoid comparing pointers to exported functions under CFI

Arnd Bergmann (1):
crypto: ixp4xx - convert to platform driver

Baokun Li (1):
crypto: ccp - Use list_move_tail instead of list_del/list_add_tail in ccp-dmaengine.c

Bixuan Cui (1):
crypto: nx - add missing MODULE_DEVICE_TABLE

Christophe JAILLET (3):
crypto: cpt - Use 'hlist_for_each_entry' to simplify code
crypto: ccp - Fix a resource leak in an error handling path
crypto: cavium/nitrox - Fix an error rhandling path in 'nitrox_probe()'

Colin Ian King (2):
hwrng: amd - remove redundant initialization of variable err
crypto: hisilicon/sec - Fix spelling mistake "fallbcak" -> "fallback"

Corentin Labbe (15):
crypto: ixp4xx - dma_unmap the correct address
crypto: ixp4xx - update IV after requests
crypto: ixp4xx - fallback when having more than one SG
crypto: ixp4xx - convert unsigned to unsigned int
crypto: ixp4xx - convert all printk to dev_xxx
crypto: ixp4xx - whitespace fixes
crypto: ixp4xx - Do not initialize static to NULL
crypto: ixp4xx - remove brackets from single statement
crypto: ixp4xx - Correct functions alignment
MAINTAINERS: add ixp4xx_crypto to the right arch list
MAINTAINERS: add myself as maintainer of ixp4xx_crypto
dt-bindings: crypto: Add documentation for sl3516-ce
crypto: sl3516 - Add sl3516 crypto engine
MAINTAINERS: add gemini crypto sl3516-ce
crypto: sl3516 - depends on HAS_IOMEM

Hangbin Liu (1):
crypto: x86/curve25519 - fix cpu feature checking logic in mod_exit

Herbert Xu (4):
crypto: sa2ul - Remove unused auth_len variable
crypto: api - Move crypto attr definitions out of crypto.h
crypto: nx - Fix RCU warning in nx842_OF_upd_status
crypto: nx - Fix numerous sparse byte-order warnings

Hongbo Li (1):
crypto: sm2 - fix a memory leak in sm2

Horia Geantă (1):
MAINTAINERS: update caam crypto driver maintainers list

Hui Tang (20):
crypto: testmgr - fix initialization of 'secret_size'
crypto: ecdh - extend 'cra_driver_name' with curve name
crypto: hisilicon/hpre - extend 'cra_driver_name' with curve name
crypto: hisilicon/hpre - fix unmapping invalid dma address
crypto: hisilicon/hpre - the macro 'HPRE_ADDR' expands
crypto: hisilicon/hpre - init a structure member each line
crypto: hisilicon/hpre - replace macro with inline function
crypto: hisilicon/hpre - remove the macro of 'HPRE_DEV'
crypto: hisilicon/hpre - delete rudundant initialization
crypto: hisilicon/hpre - use 'GENMASK' to generate mask value
crypto: hisilicon/hpre - delete rudundant macro definition
crypto: hisilicon/hpre - add 'default' for switch statement
crypto: khazad,wp512 - remove leading spaces before tabs
crypto: ecdh - fix ecdh-nist-p192's entry in testmgr
crypto: ecdh - fix 'ecdh_init'
crypto: ecdh - register NIST P384 tfm
crypto: ecdh - add test suite for NIST P384
crypto: hisilicon/hpre - fix ecdh self test issue
crypto: hisilicon/hpre - add check before gx modulo p
crypto: hisilicon/hpre - register ecdh NIST P384

Jack Xu (5):
crypto: qat - return error when failing to map FW
crypto: qat - check MMP size before writing to the SRAM
crypto: qat - report an error if MMP file size is too large
crypto: qat - check return code of qat_hal_rd_rel_reg()
crypto: qat - remove unused macro in FW loader

Jiapeng Chong (1):
crypto: qce - Fix inconsistent indenting

Joerg Roedel (1):
crypto: ccp - Annotate SEV Firmware file names

Juerg Haefliger (1):
hwrng: Kconfig - Remove leading spaces

Kai Ye (19):
crypto: hisilicon/qm - add dfx log if not use hardware crypto algs
crypto: hisilicon/qm - fix the process of VF's list adding
crypto: hisilicon/sec - add new type of SQE
crypto: hisilicon/sec - driver adapt to new SQE
crypto: hisilicon/sec - add new skcipher mode for SEC
crypto: hisilicon/sec - add fallback tfm supporting for XTS mode
crypto: hisilicon/sec - fixup 3des minimum key size declaration
crypto: hisilicon/sec - add new algorithm mode for AEAD
crypto: hisilicon/sec - add fallback tfm supporting for aeads
crypto: hisilicon/sec - add hardware integrity check value process
crypto: hisilicon/sec - modify the SEC request structure
crypto: hisilicon/qm - supports writing QoS int the host
crypto: hisilicon/qm - add the "alg_qos" file node
crypto: hisilicon/qm - merges the work initialization process into a single function
crypto: hisilicon/qm - add pf ping single vf function
crypto: hisilicon/qm - supports to inquiry each function's QoS
crypto: hisilicon/sec - adds the max shaper type rate
crypto: hisilicon/hpre - adds the max shaper type rate
crypto: hisilicon/zip - adds the max shaper type rate

Kees Cook (1):
crypto: nx - Fix memcpy() over-reading in nonce

Lee Jones (3):
crypto: cavium: Fix a bunch of kernel-doc related issues
crypto: nx: nx-aes-gcm: Kernel-doc formatting should not be used for headers
crypto: ccp: ccp-dev: Fix a little doc-rot

Linus Walleij (2):
crypto: ixp4xx - Add DT bindings
crypto: ixp4xx - Add device tree support

Liu Shixin (1):
crypto: api - remove CRYPTOA_U32 and related functions

Longfang Liu (1):
crypto: hisilicon/qm - support address prefetching

Masahiro Yamada (4):
crypto: arm - generate *.S by Perl at build time instead of shipping them
crypto: arm - use a pattern rule for generating *.S files
crypto: arm64 - generate *.S by Perl at build time instead of shipping them
crypto: arm64 - use a pattern rule for generating *.S files

Shaokun Zhang (2):
hwrng: core - remove redundant initialization of variable err
crypto: nx - Fix typo in comment

Srujana Challa (4):
crypto: octeontx2 - Add mailbox support for CN10K
crypto: octeontx2 - add support to map LMTST region for CN10K
crypto: octeontx2 - add support for CPT operations on CN10K
crypto: octeontx2 - enable and handle ME interrupts

Stephan Müller (1):
crypto: DRBG - switch to HMAC SHA512 DRBG as default DRBG

Suman Anna (6):
hwrng: omap - Enable driver for TI K3 family
crypto: sa2ul - Fix leaks on failure paths with sa_dma_init()
crypto: sa2ul - Fix pm_runtime enable in sa_ul_probe()
crypto: sa2ul - Use of_device_get_match_data() helper
crypto: sa2ul - Use devm_platform_ioremap_resource()
crypto: sa2ul - Remove child devices in remove

Thara Gopinath (9):
crypto: qce - Add MAC failed error checking
crypto: qce - Make result dump optional
crypto: qce - Add mode for rfc4309
crypto: qce - Add support for AEAD algorithms
crypto: qce - Clean up qce_auth_cfg
crypto: qce - Add support for AEAD algorithms
crypto: qce - Schedule fallback aead algorithm
crypto: qce: skcipher: Fix incorrect sg count for dma transfers
MAINTAINERS: Add maintainer for Qualcomm crypto drivers

Tian Tao (3):
hwrng: exynos - Use pm_runtime_resume_and_get() to replace open coding
hwrng: omap - Use pm_runtime_resume_and_get() to replace open coding
hwrng: ks-sa - Use pm_runtime_resume_and_get() to replace open coding

Tom Rix (1):
crypto: marvell/cesa - change FPGA indirect article to an

Tong Tiangen (1):
crypto: nitrox - fix unchecked variable in nitrox_register_interrupts

Wei Yongjun (2):
crypto: qce - Fix some error handling path
crypto: qce - fix error return code in qce_skcipher_async_req_handle()

Weili Qian (9):
crypto: hisilicon/qm - initialize the device before doing tasks
crypto: hisilicon/qm - modify 'QM_RESETTING' clearing error
crypto: hisilicon/qm - adjust order of device error configuration
crypto: hisilicon/qm - enable to close master ooo when NFE occurs
crypto: hisilicon/qm - add MSI detection steps on Kunpeng930
crypto: hisilicon/qm - adjust reset interface
crypto: hisilicon/qm - enable PF and VFs communication
crypto: hisilicon/qm - add callback to support communication
crypto: hisilicon/qm - update reset flow

Wenkai Lin (1):
crypto: hisilicon/qm - implement for querying hardware tasks status.

Wu Bo (1):
crypto: af_alg - use DIV_ROUND_UP helper macro for calculations

Yang Li (2):
crypto: cavium/nitrox - Remove redundant initialization of 'sg'
crypto: cavium/nitrox - Fix kernel-doc

YueHaibing (2):
hwrng: core - Use DEVICE_ATTR_<RW|RO> macro
crypto: sl3516 - Fix build warning without CONFIG_PM

Zhang Qilong (2):
crypto: omap-des - using pm_runtime_resume_and_get instead of pm_runtime_get_sync
crypto: omap-sham - Fix PM reference leak in omap sham ops

Zhen Lei (2):
crypto: ux500 - Fix error return code in hash_hw_final()
crypto: header - Fix spelling errors

Zou Wei (1):
crypto: hisilicon - switch to memdup_user_nul()

kernel test robot (1):
crypto: sl3516 - fix duplicated inclusion

Łukasz Stelmach (1):
hwrng: exynos - Fix runtime PM imbalance on error

.../bindings/crypto/cortina,sl3516-crypto.yaml | 50 +
.../bindings/crypto/intel,ixp4xx-crypto.yaml | 47 +
.../intel,ixp4xx-network-processing-engine.yaml | 22 +-
MAINTAINERS | 23 +-
arch/arm/crypto/Makefile | 10 +-
arch/arm/crypto/poly1305-core.S_shipped | 1158 --------
arch/arm/crypto/sha256-core.S_shipped | 2816 --------------------
arch/arm/crypto/sha512-core.S_shipped | 1869 -------------
arch/arm/mach-ixp4xx/common.c | 26 +
arch/arm64/crypto/Makefile | 10 +-
arch/arm64/crypto/poly1305-core.S_shipped | 835 ------
arch/arm64/crypto/sha256-core.S_shipped | 2069 --------------
arch/arm64/crypto/sha512-core.S_shipped | 1093 --------
arch/x86/crypto/curve25519-x86_64.c | 2 +-
crypto/af_alg.c | 2 +-
crypto/algapi.c | 18 -
crypto/algboss.c | 31 +-
crypto/drbg.c | 12 +-
crypto/ecdh.c | 49 +-
crypto/internal.h | 12 +
crypto/khazad.c | 2 +-
crypto/shash.c | 18 +-
crypto/sm2.c | 24 +-
crypto/tcrypt.c | 36 +
crypto/testmgr.c | 10 +-
crypto/testmgr.h | 71 +-
crypto/wp512.c | 40 +-
drivers/char/hw_random/Kconfig | 10 +-
drivers/char/hw_random/amd-rng.c | 2 +-
drivers/char/hw_random/core.c | 38 +-
drivers/char/hw_random/exynos-trng.c | 7 +-
drivers/char/hw_random/ks-sa-rng.c | 3 +-
drivers/char/hw_random/omap-rng.c | 6 +-
drivers/crypto/Kconfig | 41 +
drivers/crypto/Makefile | 1 +
drivers/crypto/cavium/cpt/cptpf_main.c | 2 +-
drivers/crypto/cavium/cpt/cptvf_reqmanager.c | 10 +-
drivers/crypto/cavium/nitrox/nitrox_isr.c | 4 +
drivers/crypto/cavium/nitrox/nitrox_main.c | 22 +-
drivers/crypto/cavium/nitrox/nitrox_mbx.c | 4 +-
drivers/crypto/cavium/nitrox/nitrox_reqmgr.c | 16 +-
drivers/crypto/cavium/nitrox/nitrox_skcipher.c | 2 +-
drivers/crypto/ccp/ccp-dev.c | 2 +-
drivers/crypto/ccp/ccp-dmaengine.c | 3 +-
drivers/crypto/ccp/sev-dev.c | 4 +
drivers/crypto/ccp/sp-pci.c | 6 +-
drivers/crypto/gemini/Makefile | 2 +
drivers/crypto/gemini/sl3516-ce-cipher.c | 387 +++
drivers/crypto/gemini/sl3516-ce-core.c | 535 ++++
drivers/crypto/gemini/sl3516-ce-rng.c | 61 +
drivers/crypto/gemini/sl3516-ce.h | 347 +++
drivers/crypto/hisilicon/hpre/hpre_crypto.c | 185 +-
drivers/crypto/hisilicon/hpre/hpre_main.c | 256 +-
drivers/crypto/hisilicon/qm.c | 2181 +++++++++++----
drivers/crypto/hisilicon/qm.h | 17 +
drivers/crypto/hisilicon/sec2/sec.h | 23 +-
drivers/crypto/hisilicon/sec2/sec_crypto.c | 1036 ++++++-
drivers/crypto/hisilicon/sec2/sec_crypto.h | 193 ++
drivers/crypto/hisilicon/sec2/sec_main.c | 100 +-
drivers/crypto/hisilicon/zip/zip_main.c | 99 +-
drivers/crypto/ixp4xx_crypto.c | 413 +--
drivers/crypto/marvell/cesa/cesa.h | 2 +-
drivers/crypto/marvell/octeontx2/Makefile | 13 +-
drivers/crypto/marvell/octeontx2/cn10k_cpt.c | 93 +
drivers/crypto/marvell/octeontx2/cn10k_cpt.h | 36 +
drivers/crypto/marvell/octeontx2/otx2_cpt_common.h | 23 +
.../crypto/marvell/octeontx2/otx2_cpt_hw_types.h | 16 +-
drivers/crypto/marvell/octeontx2/otx2_cptlf.c | 9 +-
drivers/crypto/marvell/octeontx2/otx2_cptlf.h | 10 +
drivers/crypto/marvell/octeontx2/otx2_cptpf.h | 1 +
drivers/crypto/marvell/octeontx2/otx2_cptpf_main.c | 160 +-
.../crypto/marvell/octeontx2/otx2_cptpf_ucode.c | 32 +-
.../crypto/marvell/octeontx2/otx2_cptpf_ucode.h | 8 +-
drivers/crypto/marvell/octeontx2/otx2_cptvf.h | 3 +
drivers/crypto/marvell/octeontx2/otx2_cptvf_main.c | 49 +-
drivers/crypto/marvell/octeontx2/otx2_cptvf_mbox.c | 43 +
.../crypto/marvell/octeontx2/otx2_cptvf_reqmgr.c | 17 +-
drivers/crypto/nx/nx-842-pseries.c | 31 +-
drivers/crypto/nx/nx-aes-cbc.c | 2 +-
drivers/crypto/nx/nx-aes-ccm.c | 4 +-
drivers/crypto/nx/nx-aes-ctr.c | 4 +-
drivers/crypto/nx/nx-aes-ecb.c | 2 +-
drivers/crypto/nx/nx-aes-gcm.c | 2 +-
drivers/crypto/nx/nx-common-powernv.c | 4 +-
drivers/crypto/nx/nx-sha256.c | 19 +-
drivers/crypto/nx/nx-sha512.c | 19 +-
drivers/crypto/nx/nx_csbcpb.h | 4 +-
drivers/crypto/omap-des.c | 9 +-
drivers/crypto/omap-sham.c | 4 +-
.../qat/qat_common/icp_qat_fw_loader_handle.h | 2 +-
drivers/crypto/qat/qat_common/qat_hal.c | 14 +-
drivers/crypto/qat/qat_common/qat_uclo.c | 12 +-
drivers/crypto/qce/Makefile | 1 +
drivers/crypto/qce/aead.c | 847 ++++++
drivers/crypto/qce/aead.h | 56 +
drivers/crypto/qce/common.c | 196 +-
drivers/crypto/qce/common.h | 9 +-
drivers/crypto/qce/core.c | 4 +
drivers/crypto/qce/skcipher.c | 19 +-
drivers/crypto/sa2ul.c | 50 +-
drivers/crypto/ux500/hash/hash_core.c | 1 +
drivers/soc/ixp4xx/ixp4xx-npe.c | 7 +
include/crypto/aead.h | 2 +-
include/crypto/algapi.h | 10 +-
include/crypto/engine.h | 2 +-
include/crypto/hash.h | 2 +-
include/crypto/internal/hash.h | 8 +-
include/linux/crypto.h | 26 -
108 files changed, 7084 insertions(+), 11176 deletions(-)
create mode 100644 Documentation/devicetree/bindings/crypto/cortina,sl3516-crypto.yaml
create mode 100644 Documentation/devicetree/bindings/crypto/intel,ixp4xx-crypto.yaml
delete mode 100644 arch/arm/crypto/poly1305-core.S_shipped
delete mode 100644 arch/arm/crypto/sha256-core.S_shipped
delete mode 100644 arch/arm/crypto/sha512-core.S_shipped
delete mode 100644 arch/arm64/crypto/poly1305-core.S_shipped
delete mode 100644 arch/arm64/crypto/sha256-core.S_shipped
delete mode 100644 arch/arm64/crypto/sha512-core.S_shipped
create mode 100644 drivers/crypto/gemini/Makefile
create mode 100644 drivers/crypto/gemini/sl3516-ce-cipher.c
create mode 100644 drivers/crypto/gemini/sl3516-ce-core.c
create mode 100644 drivers/crypto/gemini/sl3516-ce-rng.c
create mode 100644 drivers/crypto/gemini/sl3516-ce.h
create mode 100644 drivers/crypto/marvell/octeontx2/cn10k_cpt.c
create mode 100644 drivers/crypto/marvell/octeontx2/cn10k_cpt.h
create mode 100644 drivers/crypto/qce/aead.c
create mode 100644 drivers/crypto/qce/aead.h

Thanks,
--
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt