[GIT PULL] Crypto Update for 5.15

Herbert Xu
2021-08-30T08:28:38Z

Hi Linus:

Algorithms:

- Add AES-NI/AVX/x86_64 implementation of SM4.

Drivers:

- Add Arm SMCCC TRNG based driver.

The following changes since commit 5261cdf457ce3635bf18d393a3c1991dcfaf9d02:

crypto: drbg - select SHA512 (2021-07-16 15:49:31 +0800)

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 6ae51ffe5e768d9e25a7f4298e2e7a058472bcc3:

crypto: sha512 - remove imaginary and mystifying clearing of variables (2021-08-27 16:30:19 +0800)

----------------------------------------------------------------
Ahsan Atta (1):
crypto: qat - flush vf workqueue at driver removal

Andre Przywara (2):
firmware: smccc: Register smccc_trng platform device
hwrng: Add Arm SMCCC TRNG based driver

Ard Biesheuvel (1):
crypto: x86/aes-ni - add missing error checks in XTS code

Ben Hutchings (2):
crypto: omap - Avoid redundant copy when using truncated sg list
crypto: omap - Fix inconsistent locking of device lists

Brijesh Singh (1):
crypto: ccp - shutdown SEV firmware on kexec

Cai Huoqing (1):
padata: Remove repeated verbose license text

Changbin Du (1):
crypto: skcipher - in_irq() cleanup

Christophe JAILLET (3):
crypto: qat - simplify code and axe the use of a deprecated API
crypto: qat - disable AER if an error occurs in probe functions
crypto: qat - fix a typo in a comment

Giovanni Cabiddu (8):
crypto: qat - set DMA mask to 48 bits for Gen2
crypto: qat - use proper type for vf_mask
crypto: qat - do not ignore errors from enable_vf2pf_comms()
crypto: qat - handle both source of interrupt in VF ISR
crypto: qat - prevent spurious MSI interrupt in VF
crypto: qat - move IO virtualization functions
crypto: qat - do not export adf_iov_putmsg()
crypto: qat - store vf.compatible flag

Hongbo Li (1):
lib/mpi: use kcalloc in mpi_resize

Jason Wang (2):
crypto: sun8i-ss - Use kfree_sensitive
crypto: sun8i-ce - use kfree_sensitive to clear and free sensitive data

John Allen (1):
crypto: ccp - Add support for new CCP/PSP device ID

Kai Ye (2):
crypto: hisilicon/sec - fix the abnormal exiting process
crypto: hisilicon/sec - modify the hardware endian configuration

Kanchana Velusamy (1):
crypto: qat - protect interrupt mask CSRs with a spinlock

Lukas Bulwahn (2):
crypto: rmd320 - remove rmd320 in Makefile
crypto: sha512 - remove imaginary and mystifying clearing of variables

Marco Chiappero (10):
crypto: qat - remove empty sriov_configure()
crypto: qat - enable interrupts only after ISR allocation
crypto: qat - prevent spurious MSI interrupt in PF
crypto: qat - rename compatibility version definition
crypto: qat - fix reuse of completion variable
crypto: qat - move pf2vf interrupt [en|dis]able to adf_vf_isr.c
crypto: qat - fix naming for init/shutdown VF to PF notifications
crypto: qat - complete all the init steps before service notification
crypto: qat - fix naming of PF/VF enable functions
crypto: qat - remove the unnecessary get_vintmsk_offset()

Mian Yousaf Kaukab (1):
crypto: ecc - handle unaligned input buffer in ecc_swap_digits

Randy Dunlap (4):
crypto: arm/curve25519 - rename 'mod_init' & 'mod_exit' functions to be module-specific
hwrng: rename 'mod_init' & 'mod_exit' functions to be module-specific
crypto: lib - rename 'mod_init' & 'mod_exit' functions to be module-specific
crypto: wp512 - correct a non-kernel-doc comment

Salah Triki (1):
crypto: atmel-aes - use swap()

Sean Anderson (2):
crypto: mxs-dcp - Check for DMA mapping errors
crypto: mxs-dcp - Use sg_mapping_iter to copy data

Sebastian Andrzej Siewior (2):
crypto: virtio - Replace deprecated CPU-hotplug functions.
padata: Replace deprecated CPU-hotplug functions.

Shreyansh Chouhan (1):
crypto: aesni - xts_crypt() return if walk.nbytes is 0

Svyatoslav Pankratov (1):
crypto: qat - remove intermediate tasklet for vf2pf

Tianjia Zhang (9):
crypto: sm4 - create SM4 library based on sm4 generic code
crypto: arm64/sm4-ce - Make dependent on sm4 library instead of sm4-generic
crypto: x86/sm4 - add AES-NI/AVX/x86_64 implementation
crypto: tcrypt - add the asynchronous speed test for SM4
crypto: tcrypt - Fix missing return value check
crypto: testmgr - Add GCM/CCM mode test of SM4 algorithm
crypto: tcrypt - add GCM/CCM mode test for SM4 algorithm
crypto: x86/sm4 - export reusable AESNI/AVX functions
crypto: x86/sm4 - add AES-NI/AVX2/x86_64 implementation

Tony Lindgren (6):
crypto: omap-sham - clear dma flags only after omap_sham_update_dma_stop()
crypto: omap-sham - initialize req only after omap_sham_hw_init()
crypto: omap-sham - add missing pm_runtime_dontuse_autosuspend()
crypto: omap-sham - drop old hw_init and unused FLAGS_INIT
crypto: omap-sham - drop suspend and resume functions
crypto: omap-sham - drop pm_runtime_irqsafe() usage

Tudor Ambarus (9):
crypto: atmel-tdes - Clarify how tdes dev gets allocated to the tfm
crypto: atmel-tdes - Handle error messages
crypto: atmel-aes - Add blocksize constraint for ECB and CBC modes
crypto: atmel-aes - Add XTS input length constraint
crypto: atmel-aes - Add NIST 800-38A's zero length cryptlen constraint
crypto: atmel-tdes - Add FIPS81's zero length cryptlen constraint
crypto: atmel - Set OFB's blocksize to 1
crypto: atmel-aes - Add fallback to XTS software implementation
crypto: atmel-aes - Allocate aes dev at tfm init time

Weili Qian (8):
crypto: hisilicon - enable zip device clock gating
crypto: hisilicon - enable sec device clock gating
crypto: hisilicon - enable hpre device clock gating
crypto: hisilicon - using 'debugfs_create_file' instead of 'debugfs_create_regset32'
crypto: hisilicon - add runtime PM ops
crypto: hisilicon - support runtime PM for accelerator device
crypto: hisilicon - change parameter passing of debugfs function
crypto: hisilicon - check _PS0 and _PR0 method

Xiyu Yang (1):
padata: Convert from atomic_t to refcount_t on parallel_data->refcnt

arch/arm/crypto/curve25519-glue.c | 8 +-
arch/arm64/crypto/Kconfig | 2 +-
arch/arm64/crypto/sm4-ce-glue.c | 20 +-
arch/x86/crypto/Makefile | 6 +
arch/x86/crypto/aesni-intel_glue.c | 5 +
arch/x86/crypto/sm4-aesni-avx-asm_64.S | 589 +++++++++++++++++++++
arch/x86/crypto/sm4-aesni-avx2-asm_64.S | 497 +++++++++++++++++
arch/x86/crypto/sm4-avx.h | 24 +
arch/x86/crypto/sm4_aesni_avx2_glue.c | 169 ++++++
arch/x86/crypto/sm4_aesni_avx_glue.c | 487 +++++++++++++++++
crypto/Kconfig | 44 ++
crypto/Makefile | 1 -
crypto/ecc.h | 5 +-
crypto/sha512_generic.c | 3 -
crypto/skcipher.c | 2 +-
crypto/sm4_generic.c | 180 +------
crypto/tcrypt.c | 100 +++-
crypto/testmgr.c | 29 +
crypto/testmgr.h | 148 ++++++
crypto/wp512.c | 2 +-
drivers/char/hw_random/Kconfig | 14 +
drivers/char/hw_random/Makefile | 1 +
drivers/char/hw_random/amd-rng.c | 8 +-
drivers/char/hw_random/arm_smccc_trng.c | 123 +++++
drivers/char/hw_random/geode-rng.c | 8 +-
drivers/char/hw_random/intel-rng.c | 8 +-
drivers/char/hw_random/via-rng.c | 8 +-
drivers/crypto/allwinner/sun8i-ce/sun8i-ce-prng.c | 9 +-
drivers/crypto/allwinner/sun8i-ce/sun8i-ce-trng.c | 3 +-
drivers/crypto/allwinner/sun8i-ss/sun8i-ss-prng.c | 9 +-
drivers/crypto/atmel-aes.c | 154 ++++--
drivers/crypto/atmel-tdes.c | 66 +--
drivers/crypto/ccp/sev-dev.c | 49 +-
drivers/crypto/ccp/sp-pci.c | 19 +
drivers/crypto/hisilicon/hpre/hpre_main.c | 123 ++++-
drivers/crypto/hisilicon/qm.c | 430 ++++++++++++---
drivers/crypto/hisilicon/qm.h | 8 +
drivers/crypto/hisilicon/sec2/sec.h | 5 -
drivers/crypto/hisilicon/sec2/sec_main.c | 138 +++--
drivers/crypto/hisilicon/zip/zip_main.c | 83 ++-
drivers/crypto/mxs-dcp.c | 81 +--
drivers/crypto/omap-aes.c | 8 +-
drivers/crypto/omap-crypto.c | 2 +-
drivers/crypto/omap-des.c | 8 +-
drivers/crypto/omap-sham.c | 68 +--
drivers/crypto/qat/qat_4xxx/adf_4xxx_hw_data.c | 8 +-
drivers/crypto/qat/qat_4xxx/adf_drv.c | 14 +-
drivers/crypto/qat/qat_c3xxx/adf_c3xxx_hw_data.c | 19 +-
drivers/crypto/qat/qat_c3xxx/adf_c3xxx_hw_data.h | 1 -
drivers/crypto/qat/qat_c3xxx/adf_drv.c | 21 +-
.../crypto/qat/qat_c3xxxvf/adf_c3xxxvf_hw_data.c | 14 +-
.../crypto/qat/qat_c3xxxvf/adf_c3xxxvf_hw_data.h | 1 -
drivers/crypto/qat/qat_c3xxxvf/adf_drv.c | 16 +-
drivers/crypto/qat/qat_c62x/adf_c62x_hw_data.c | 19 +-
drivers/crypto/qat/qat_c62x/adf_c62x_hw_data.h | 1 -
drivers/crypto/qat/qat_c62x/adf_drv.c | 21 +-
drivers/crypto/qat/qat_c62xvf/adf_c62xvf_hw_data.c | 14 +-
drivers/crypto/qat/qat_c62xvf/adf_c62xvf_hw_data.h | 1 -
drivers/crypto/qat/qat_c62xvf/adf_drv.c | 16 +-
drivers/crypto/qat/qat_common/adf_accel_devices.h | 8 +-
drivers/crypto/qat/qat_common/adf_aer.c | 2 +-
drivers/crypto/qat/qat_common/adf_common_drv.h | 21 +-
drivers/crypto/qat/qat_common/adf_init.c | 13 +-
drivers/crypto/qat/qat_common/adf_isr.c | 42 +-
drivers/crypto/qat/qat_common/adf_pf2vf_msg.c | 78 +--
drivers/crypto/qat/qat_common/adf_pf2vf_msg.h | 2 +-
drivers/crypto/qat/qat_common/adf_sriov.c | 8 +-
drivers/crypto/qat/qat_common/adf_vf2pf_msg.c | 12 +-
drivers/crypto/qat/qat_common/adf_vf_isr.c | 64 ++-
.../crypto/qat/qat_dh895xcc/adf_dh895xcc_hw_data.c | 19 +-
.../crypto/qat/qat_dh895xcc/adf_dh895xcc_hw_data.h | 1 -
drivers/crypto/qat/qat_dh895xcc/adf_drv.c | 21 +-
.../qat/qat_dh895xccvf/adf_dh895xccvf_hw_data.c | 14 +-
.../qat/qat_dh895xccvf/adf_dh895xccvf_hw_data.h | 1 -
drivers/crypto/qat/qat_dh895xccvf/adf_drv.c | 16 +-
drivers/crypto/virtio/virtio_crypto_core.c | 4 +-
drivers/firmware/smccc/smccc.c | 17 +
include/crypto/sm4.h | 25 +-
include/linux/padata.h | 3 +-
kernel/padata.c | 35 +-
lib/crypto/Kconfig | 3 +
lib/crypto/Makefile | 3 +
lib/crypto/blake2s.c | 8 +-
lib/crypto/chacha20poly1305.c | 8 +-
lib/crypto/curve25519.c | 8 +-
lib/crypto/sm4.c | 176 ++++++
lib/mpi/mpiutil.c | 2 +-
87 files changed, 3695 insertions(+), 839 deletions(-)
create mode 100644 arch/x86/crypto/sm4-aesni-avx-asm_64.S
create mode 100644 arch/x86/crypto/sm4-aesni-avx2-asm_64.S
create mode 100644 arch/x86/crypto/sm4-avx.h
create mode 100644 arch/x86/crypto/sm4_aesni_avx2_glue.c
create mode 100644 arch/x86/crypto/sm4_aesni_avx_glue.c
create mode 100644 drivers/char/hw_random/arm_smccc_trng.c
create mode 100644 lib/crypto/sm4.c

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