Hi Linus: The following changes since commit 174fdc93a241af54772ae3e745ec719e9f6cebfc: Merge tag 'v6.9-p2' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 (2024-03-25 10:48:23 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6.git v6.10-p1 for you to fetch changes up to 13909a0c88972c5ef5d13f44d1a8bf065a31bdf4: crypto: atmel-sha204a - provide the otp content (2024-05-10 17:15:25 +0800) ---------------------------------------------------------------- This update includes the following changes: API: - Remove crypto stats interface. Algorithms: - Add faster AES-XTS on modern x86_64 CPUs. - Forbid curves with order less than 224 bits in ecc (FIPS 186-5). - Add ECDSA NIST P521. Drivers: - Expose otp zone in atmel. - Add dh fallback for primes > 4K in qat. - Add interface for live migration in qat. - Use dma for aes requests in starfive. - Add full DMA support for stm32mpx in stm32. - Add Tegra Security Engine driver. Others: - Introduce scope-based x509_certificate allocation. ---------------------------------------------------------------- Adam Guerin (2): crypto: qat - improve error message in adf_get_arbiter_mapping() crypto: qat - improve error logging to be consistent across features Akhil R (3): dt-bindings: crypto: Add Tegra Security Engine gpu: host1x: Add Tegra SE to SID table crypto: tegra - Add Tegra Security Engine driver Aleksandr Mishin (1): crypto: bcm - Fix pointer arithmetic Animesh Agarwal (1): dt-bindings: crypto: ti,omap-sham: Convert to dtschema Ard Biesheuvel (1): crypto: arm64/aes-ce - Simplify round key load sequence Arnd Bergmann (1): crypto: ccp - drop platform ifdef checks Chang S. Bae (2): crypto: x86/aesni - Rearrange AES key size check crypto: x86/aesni - Update aesni_set_key() to return void Chen Ni (1): crypto: octeontx2 - add missing check for dma_map_single Chenghai Huang (10): crypto: hisilicon/sec - Add the condition for configuring the sriov function crypto: hisilicon/debugfs - Fix debugfs uninit process issue crypto: hisilicon/sgl - Delete redundant parameter verification crypto: hisilicon/debugfs - Fix the processing logic issue in the debugfs creation crypto: hisilicon/qm - Add the default processing branch crypto: hisilicon - Adjust debugfs creation and release order crypto: hisilicon/sec - Fix memory leak for sec resource release crypto: hisilicon/debugfs - Resolve the problem of applying for redundant space in sq dump crypto: hisilicon/qm - Add the err memory release process to qm uninit crypto: hisilicon/debugfs - mask the unnecessary info from the dump Colin Ian King (1): crypto: qat - Fix spelling mistake "Invalide" -> "Invalid" Damian Muszynski (1): crypto: qat - implement dh fallback for primes > 4K Dan Carpenter (1): crypto: tegra - Fix some error codes Eric Biggers (24): crypto: remove CONFIG_CRYPTO_STATS x86: add kconfig symbols for assembler VAES and VPCLMULQDQ support crypto: x86/aes-xts - add AES-XTS assembly macro for modern CPUs crypto: x86/aes-xts - wire up AESNI + AVX implementation crypto: x86/aes-xts - wire up VAES + AVX2 implementation crypto: x86/aes-xts - wire up VAES + AVX10/256 implementation crypto: x86/aes-xts - wire up VAES + AVX10/512 implementation crypto: x86/nh-avx2 - add missing vzeroupper crypto: x86/sha256-avx2 - add missing vzeroupper crypto: x86/sha512-avx2 - add missing vzeroupper crypto: x86/aes-xts - make non-AVX implementation use new glue code crypto: x86/aes-xts - access round keys using single-byte offsets crypto: x86/sha256-ni - convert to use rounds macros crypto: x86/sha256-ni - rename some register aliases crypto: x86/sha256-ni - optimize code size crypto: x86/sha256-ni - simplify do_4rounds crypto: x86/aes-xts - handle CTS encryption more efficiently crypto: x86/aesni-xts - deduplicate aesni_xts_enc() and aesni_xts_dec() crypto: x86/aes-xts - handle AES-128 and AES-192 more efficiently crypto: x86/aes-xts - eliminate a few more instructions crypto: x86/aes-xts - optimize size of instructions operating on lengths crypto: x86/aes-xts - simplify loop in xts_crypt_slowpath() crypto: x86/aes-gcm - delete unused GCM assembly code crypto: x86/aes-gcm - simplify GCM hash subkey derivation Geert Uytterhoeven (1): dt-bindings: crypto: starfive: Restore sort order Giovanni Cabiddu (3): crypto: qat - adf_get_etr_base() helper crypto: qat - relocate CSR access code crypto: qat - specify firmware files for 402xx Gustavo A. R. Silva (2): crypto: nx - Avoid -Wflex-array-member-not-at-end warning crypto: qat - Avoid -Wflex-array-member-not-at-end warnings Hailey Mothershead (1): crypto: aead,cipher - zeroize key buffer after use Herbert Xu (1): padata: Disable BH when taking works lock on MT path Jerry Snitselaar (1): crypto: iaa - Fix some errors in IAA documentation Jia Jie Ho (8): dt-bindings: crypto: starfive: Add jh8100 support crypto: starfive - Update hash dma usage crypto: starfive - Skip unneeded key free crypto: starfive - Use dma for aes requests crypto: starfive - Skip dma setup for zeroed message crypto: starfive - Skip unneeded fallback allocation crypto: starfive - Do not free stack buffer crypto: starfive - Use fallback for unaligned dma access Joachim Vandersmissen (2): crypto: ecc - update ecc_gen_privkey for FIPS 186-5 crypto: ecdh - explicitly zeroize private_key Joel Granados (1): crypto: fips - Remove the now superfluous sentinel element from ctl_table array Li Zhijian (1): hwrng: core - Convert sprintf/snprintf to sysfs_emit Lothar Rubusch (4): crypto: atmel-i2c - add missing arg description crypto: atmel-i2c - rename read function crypto: atmel-sha204a - add reading from otp zone crypto: atmel-sha204a - provide the otp content Luca Weiss (1): dt-bindings: crypto: ice: Document sc7280 inline crypto engine Lucas Segarra Fernandez (1): crypto: qat - validate slices count returned by FW Lukas Wunner (1): X.509: Introduce scope-based x509_certificate allocation Marek Vasut (3): hwrng: stm32 - use logical OR in conditional hwrng: stm32 - put IP into RPM suspend on failure hwrng: stm32 - repair clock handling Maxime Méré (1): crypto: stm32/hash - add full DMA support for stm32mpx Pankaj Gupta (2): crypto: caam - init-clk based on caam-page0-access crypto: caam - i.MX8ULP donot have CAAM page0 access Roman Smirnov (2): crypto: ecc - remove checks in crypto_ecdh_shared_secret() and ecc_make_pub_key() crypto: algboss - remove NULL check in cryptomgr_schedule_probe() Siming Wan (3): crypto: qat - rename get_sla_arr_of_type() crypto: qat - expand CSR operations for QAT GEN4 devices crypto: qat - add bank save and restore flows Stefan Berger (16): crypto: ecdsa - Fix module auto-load on add-key crypto: ecc - Use ECC_CURVE_NIST_P192/256/384_DIGITS where possible crypto: ecdsa - Convert byte arrays with key coordinates to digits crypto: ecdsa - Adjust tests on length of key parameters crypto: ecdsa - Extend res.x mod n calculation for NIST P521 crypto: ecc - Add nbits field to ecc_curve structure crypto: ecc - Implement vli_mmod_fast_521 for NIST p521 crypto: ecc - Add special case for NIST P521 in ecc_point_mult crypto: ecc - Add NIST P521 curve parameters crypto: ecdsa - Replace ndigits with nbits where precision is needed crypto: ecdsa - Rename keylen to bufsize where necessary crypto: ecdsa - Register NIST P521 and extend test suite crypto: asymmetric_keys - Adjust signature size calculation for NIST P521 crypto: x509 - Add OID for NIST P521 and extend parser for it crypto: ecdh - Pass private key in proper byte order to check valid key crypto: ecdh - Initialize ctx->private_key in proper byte order Thorsten Blum (4): crypto: jitter - Use kvfree_sensitive() to fix Coccinelle warning crypto: jitter - Remove duplicate word in comment crypto: jitter - Replace http with https crypto: iaa - Use kmemdup() instead of kzalloc() and memcpy() Tom Zanussi (5): crypto: iaa - fix decomp_bytes_in stats crypto: iaa - Remove comp/decomp delay statistics crypto: iaa - Add global_stats file and remove individual stat files crypto: iaa - Change iaa statistics to atomic64_t crypto: iaa - Use cpumask_weight() when rebalancing Uwe Kleine-König (2): hwrng: mxc-rnga - Drop usage of platform_driver_probe() crypto: tegra - Convert to platform remove callback returning void Vitaly Chikunov (1): crypto: ecrdsa - Fix module auto-load on add_key Wenkai Lin (1): crypto: hisilicon/sec2 - fix for register offset Wolfram Sang (2): crypto: api - use 'time_left' variable with wait_for_completion_killable_timeout() crypto: sahara - use 'time_left' variable with wait_for_completion_timeout() Xin Zeng (4): crypto: qat - relocate and rename 4xxx PF2VM definitions crypto: qat - move PFVF compat checker to a function crypto: qat - add interface for live migration crypto: qat - implement interface for live migration .../bindings/crypto/nvidia,tegra234-se-aes.yaml | 52 + .../bindings/crypto/nvidia,tegra234-se-hash.yaml | 52 + .../devicetree/bindings/crypto/omap-sham.txt | 28 - .../bindings/crypto/qcom,inline-crypto-engine.yaml | 1 + .../bindings/crypto/starfive,jh7110-crypto.yaml | 30 +- .../devicetree/bindings/crypto/ti,omap-sham.yaml | 56 + Documentation/driver-api/crypto/iaa/iaa-crypto.rst | 96 +- MAINTAINERS | 5 + arch/arm64/crypto/aes-ce.S | 34 +- arch/arm64/crypto/aes-neon.S | 20 +- arch/s390/configs/debug_defconfig | 1 - arch/s390/configs/defconfig | 1 - arch/x86/Kconfig.assembler | 10 + arch/x86/crypto/Makefile | 3 +- arch/x86/crypto/aes-xts-avx-x86_64.S | 845 +++++++++ arch/x86/crypto/aesni-intel_asm.S | 469 +---- arch/x86/crypto/aesni-intel_glue.c | 420 +++-- arch/x86/crypto/nh-avx2-x86_64.S | 1 + arch/x86/crypto/sha256-avx2-asm.S | 1 + arch/x86/crypto/sha256_ni_asm.S | 251 +-- arch/x86/crypto/sha512-avx2-asm.S | 1 + crypto/Kconfig | 20 - crypto/Makefile | 2 - crypto/acompress.c | 33 - crypto/aead.c | 87 +- crypto/ahash.c | 63 +- crypto/akcipher.c | 31 - crypto/algboss.c | 3 - crypto/api.c | 8 +- crypto/asymmetric_keys/public_key.c | 14 +- crypto/asymmetric_keys/x509_cert_parser.c | 46 +- crypto/asymmetric_keys/x509_parser.h | 3 + crypto/asymmetric_keys/x509_public_key.c | 31 +- crypto/cipher.c | 3 +- crypto/compress.h | 3 - crypto/{crypto_user_base.c => crypto_user.c} | 10 +- crypto/crypto_user_stat.c | 176 -- crypto/ecc.c | 100 +- crypto/ecc_curve_defs.h | 49 + crypto/ecdh.c | 11 +- crypto/ecdsa.c | 66 +- crypto/ecrdsa.c | 1 + crypto/ecrdsa_defs.h | 5 + crypto/fips.c | 1 - crypto/hash.h | 30 - crypto/jitterentropy-kcapi.c | 3 +- crypto/jitterentropy.c | 4 +- crypto/kpp.c | 30 - crypto/lskcipher.c | 73 +- crypto/rng.c | 44 +- crypto/scompress.c | 3 - crypto/shash.c | 75 +- crypto/sig.c | 13 - crypto/skcipher.c | 86 +- crypto/skcipher.h | 10 - crypto/testmgr.c | 7 + crypto/testmgr.h | 146 ++ drivers/char/hw_random/core.c | 2 +- drivers/char/hw_random/mxc-rnga.c | 9 +- drivers/char/hw_random/stm32-rng.c | 18 +- drivers/crypto/Kconfig | 8 + drivers/crypto/Makefile | 1 + drivers/crypto/atmel-i2c.c | 30 +- drivers/crypto/atmel-i2c.h | 8 +- drivers/crypto/atmel-sha204a.c | 68 + drivers/crypto/bcm/spu2.c | 2 +- drivers/crypto/caam/ctrl.c | 19 +- drivers/crypto/ccp/sp-platform.c | 14 +- drivers/crypto/hisilicon/debugfs.c | 65 +- drivers/crypto/hisilicon/hpre/hpre_main.c | 23 +- drivers/crypto/hisilicon/qm.c | 8 +- drivers/crypto/hisilicon/sec2/sec_crypto.c | 4 +- drivers/crypto/hisilicon/sec2/sec_main.c | 32 +- drivers/crypto/hisilicon/sgl.c | 5 +- drivers/crypto/hisilicon/zip/zip_main.c | 24 +- drivers/crypto/intel/iaa/iaa_crypto.h | 16 +- drivers/crypto/intel/iaa/iaa_crypto_main.c | 23 +- drivers/crypto/intel/iaa/iaa_crypto_stats.c | 183 +- drivers/crypto/intel/iaa/iaa_crypto_stats.h | 8 - .../crypto/intel/qat/qat_420xx/adf_420xx_hw_data.c | 5 +- .../crypto/intel/qat/qat_4xxx/adf_4xxx_hw_data.c | 7 +- drivers/crypto/intel/qat/qat_4xxx/adf_drv.c | 2 + .../crypto/intel/qat/qat_c3xxx/adf_c3xxx_hw_data.c | 1 + .../intel/qat/qat_c3xxxvf/adf_c3xxxvf_hw_data.c | 1 + .../crypto/intel/qat/qat_c62x/adf_c62x_hw_data.c | 1 + .../intel/qat/qat_c62xvf/adf_c62xvf_hw_data.c | 1 + drivers/crypto/intel/qat/qat_common/Makefile | 6 +- .../intel/qat/qat_common/adf_accel_devices.h | 88 + .../crypto/intel/qat/qat_common/adf_common_drv.h | 10 + .../intel/qat/qat_common/adf_gen2_hw_csr_data.c | 101 + .../intel/qat/qat_common/adf_gen2_hw_csr_data.h | 86 + .../crypto/intel/qat/qat_common/adf_gen2_hw_data.c | 97 - .../crypto/intel/qat/qat_common/adf_gen2_hw_data.h | 76 - .../intel/qat/qat_common/adf_gen4_hw_csr_data.c | 231 +++ .../intel/qat/qat_common/adf_gen4_hw_csr_data.h | 188 ++ .../crypto/intel/qat/qat_common/adf_gen4_hw_data.c | 380 +++- .../crypto/intel/qat/qat_common/adf_gen4_hw_data.h | 127 +- .../crypto/intel/qat/qat_common/adf_gen4_pfvf.c | 8 +- drivers/crypto/intel/qat/qat_common/adf_gen4_tl.c | 1 + .../crypto/intel/qat/qat_common/adf_gen4_vf_mig.c | 1010 ++++++++++ .../crypto/intel/qat/qat_common/adf_gen4_vf_mig.h | 10 + .../crypto/intel/qat/qat_common/adf_mstate_mgr.c | 318 ++++ .../crypto/intel/qat/qat_common/adf_mstate_mgr.h | 89 + .../intel/qat/qat_common/adf_pfvf_pf_proto.c | 8 +- .../crypto/intel/qat/qat_common/adf_pfvf_utils.h | 11 + drivers/crypto/intel/qat/qat_common/adf_rl.c | 12 +- drivers/crypto/intel/qat/qat_common/adf_rl.h | 2 + drivers/crypto/intel/qat/qat_common/adf_sriov.c | 7 +- .../crypto/intel/qat/qat_common/adf_telemetry.c | 21 + .../crypto/intel/qat/qat_common/adf_telemetry.h | 1 + .../crypto/intel/qat/qat_common/adf_transport.c | 4 +- .../crypto/intel/qat/qat_common/qat_asym_algs.c | 66 +- drivers/crypto/intel/qat/qat_common/qat_bl.c | 6 +- drivers/crypto/intel/qat/qat_common/qat_bl.h | 11 +- drivers/crypto/intel/qat/qat_common/qat_mig_dev.c | 130 ++ .../intel/qat/qat_dh895xcc/adf_dh895xcc_hw_data.c | 1 + .../qat/qat_dh895xccvf/adf_dh895xccvf_hw_data.c | 1 + drivers/crypto/marvell/octeontx2/cn10k_cpt.c | 4 + drivers/crypto/nx/nx-842.c | 6 +- drivers/crypto/nx/nx-842.h | 10 +- drivers/crypto/sahara.c | 16 +- drivers/crypto/starfive/Kconfig | 4 + drivers/crypto/starfive/jh7110-aes.c | 603 ++++-- drivers/crypto/starfive/jh7110-cryp.c | 43 - drivers/crypto/starfive/jh7110-cryp.h | 10 +- drivers/crypto/starfive/jh7110-hash.c | 285 ++- drivers/crypto/starfive/jh7110-rsa.c | 14 +- drivers/crypto/stm32/stm32-hash.c | 570 ++++-- drivers/crypto/tegra/Makefile | 9 + drivers/crypto/tegra/tegra-se-aes.c | 1933 ++++++++++++++++++++ drivers/crypto/tegra/tegra-se-hash.c | 1060 +++++++++++ drivers/crypto/tegra/tegra-se-key.c | 156 ++ drivers/crypto/tegra/tegra-se-main.c | 437 +++++ drivers/crypto/tegra/tegra-se.h | 560 ++++++ drivers/gpu/host1x/dev.c | 24 + include/crypto/acompress.h | 73 +- include/crypto/aead.h | 21 - include/crypto/akcipher.h | 78 +- include/crypto/algapi.h | 3 - include/crypto/ecc_curve.h | 2 + include/crypto/ecdh.h | 1 + include/crypto/hash.h | 22 - include/crypto/internal/acompress.h | 1 - include/crypto/internal/cryptouser.h | 16 - include/crypto/internal/ecc.h | 27 +- include/crypto/internal/scompress.h | 1 - include/crypto/kpp.h | 58 +- include/crypto/rng.h | 51 +- include/crypto/skcipher.h | 25 - include/linux/compiler.h | 2 + include/linux/oid_registry.h | 1 + include/linux/qat/qat_mig_dev.h | 31 + include/uapi/linux/cryptouser.h | 30 +- kernel/padata.c | 8 +- 154 files changed, 10335 insertions(+), 3222 deletions(-) create mode 100644 Documentation/devicetree/bindings/crypto/nvidia,tegra234-se-aes.yaml create mode 100644 Documentation/devicetree/bindings/crypto/nvidia,tegra234-se-hash.yaml delete mode 100644 Documentation/devicetree/bindings/crypto/omap-sham.txt create mode 100644 Documentation/devicetree/bindings/crypto/ti,omap-sham.yaml create mode 100644 arch/x86/crypto/aes-xts-avx-x86_64.S rename crypto/{crypto_user_base.c => crypto_user.c} (98%) delete mode 100644 crypto/crypto_user_stat.c create mode 100644 drivers/crypto/intel/qat/qat_common/adf_gen2_hw_csr_data.c create mode 100644 drivers/crypto/intel/qat/qat_common/adf_gen2_hw_csr_data.h create mode 100644 drivers/crypto/intel/qat/qat_common/adf_gen4_hw_csr_data.c create mode 100644 drivers/crypto/intel/qat/qat_common/adf_gen4_hw_csr_data.h create mode 100644 drivers/crypto/intel/qat/qat_common/adf_gen4_vf_mig.c create mode 100644 drivers/crypto/intel/qat/qat_common/adf_gen4_vf_mig.h create mode 100644 drivers/crypto/intel/qat/qat_common/adf_mstate_mgr.c create mode 100644 drivers/crypto/intel/qat/qat_common/adf_mstate_mgr.h create mode 100644 drivers/crypto/intel/qat/qat_common/qat_mig_dev.c create mode 100644 drivers/crypto/tegra/Makefile create mode 100644 drivers/crypto/tegra/tegra-se-aes.c create mode 100644 drivers/crypto/tegra/tegra-se-hash.c create mode 100644 drivers/crypto/tegra/tegra-se-key.c create mode 100644 drivers/crypto/tegra/tegra-se-main.c create mode 100644 drivers/crypto/tegra/tegra-se.h delete mode 100644 include/crypto/internal/cryptouser.h create mode 100644 include/linux/qat/qat_mig_dev.h Thanks, -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt