Crypto Update for 4.21

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Linus: 

Here is the crypto update for 4.21:

API:

- Add 1472-byte test to tcrypt for IPsec.
- Reintroduced crypto stats interface with numerous changes.
- Support incremental algorithm dumps.

Algorithms:

- Add xchacha12/20.
- Add nhpoly1305.
- Add adiantum.
- Add streebog hash.
- Mark cts(cbc(aes)) as FIPS allowed.

Drivers:

- Improve performance of arm64/chacha20.
- Improve performance of x86/chacha20.
- Add NEON-accelerated nhpoly1305.
- Add SSE2 accelerated nhpoly1305.
- Add AVX2 accelerated nhpoly1305.
- Add support for 192/256-bit keys in gcmaes AVX.
- Add SG support in gcmaes AVX.
- ESN for inline IPsec tx in chcr.
- Add support for CryptoCell 703 in ccree.
- Add support for CryptoCell 713 in ccree.
- Add SM4 support in ccree.
- Add SM3 support in ccree.
- Add support for chacha20 in caam/qi2.
- Add support for chacha20 + poly1305 in caam/jr.
- Add support for chacha20 + poly1305 in caam/qi2.
- Add AEAD cipher support in cavium/nitrox.

Please note that there is a conflict with the rcu tree as both
changed the same MAINTAINERS entries for IBM Power Crypto.  Please
use the version from the crypto tree when resolving this conflict.


Please pull from

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


Ard Biesheuvel (3):
      crypto: tcrypt - add block size of 1472 to skcipher template
      crypto: arm64/chacha - optimize for arbitrary length inputs
      crypto: arm64/chacha - use combined SIMD/ALU routine for more speed

Atul Gupta (2):
      crypto: chcr - small packet Tx stalls the queue
      crypto: chcr - ESN for Inline IPSec Tx

Brajeswar Ghosh (1):
      crypto: aes-ce - Remove duplicate header

Colin Ian King (3):
      pcrypt: use format specifier in kobject_add
      crypto: chelsio - clean up various indentation issues
      padata: clean an indentation issue, remove extraneous space

Corentin Labbe (13):
      crypto: user - made crypto_user_stat optional
      crypto: user - CRYPTO_STATS should depend on CRYPTO_USER
      crypto: user - convert all stats from u32 to u64
      crypto: user - split user space crypto stat structures
      crypto: tool: getstat: convert user space example to the new crypto_user_stat uapi
      crypto: user - fix use_after_free of struct xxx_request
      crypto: user - Fix invalid stat reporting
      crypto: user - remove intermediate variable
      crypto: user - Split stats in multiple structures
      crypto: user - rename err_cnt parameter
      crypto: user - Add crypto_stats_init
      crypto: user - remove unused dump functions
      crypto: api - document missing stats member

Cristian Stoica (1):
      crypto: chacha20poly1305 - export CHACHAPOLY_IV_SIZE

Dave Watson (12):
      crypto: aesni - Merge GCM_ENC_DEC
      crypto: aesni - Introduce gcm_context_data
      crypto: aesni - Macro-ify func save/restore
      crypto: aesni - support 256 byte keys in avx asm
      crypto: aesni - Add GCM_COMPLETE macro
      crypto: aesni - Split AAD hash calculation to separate macro
      crypto: aesni - Merge avx precompute functions
      crypto: aesni - Fill in new context data structures
      crypto: aesni - Move ghash_mul to GCM_COMPLETE
      crypto: aesni - Introduce READ_PARTIAL_BLOCK macro
      crypto: aesni - Introduce partial block macro
      crypto: aesni - Add scatter/gather avx stubs, and use them in C

Dmitry Eremin-Solenikov (2):
      crypto: cfb - fix decryption
      crypto: testmgr - add AES-CFB tests

Eric Biggers (43):
      crypto: aes_ti - disable interrupts while accessing S-box
      crypto: arm/aes - add some hardening against cache-timing attacks
      crypto: user - remove redundant reporting functions
      crypto: user - clean up report structure copying
      crypto: inside-secure - remove useless setting of type flags
      crypto: remove useless initializations of cra_list
      crypto: drop mask=CRYPTO_ALG_ASYNC from 'cipher' tfm allocations
      crypto: drop mask=CRYPTO_ALG_ASYNC from 'shash' tfm allocations
      crypto: chacha20-generic - add HChaCha20 library function
      crypto: chacha20-generic - don't unnecessarily use atomic walk
      crypto: chacha20-generic - add XChaCha20 support
      crypto: chacha20-generic - refactor to allow varying number of rounds
      crypto: chacha - add XChaCha12 support
      crypto: arm/chacha20 - limit the preemption-disabled section
      crypto: arm/chacha20 - add XChaCha20 support
      crypto: arm/chacha20 - refactor to allow varying number of rounds
      crypto: arm/chacha - add XChaCha12 support
      crypto: poly1305 - use structures for key and accumulator
      crypto: poly1305 - add Poly1305 core API
      crypto: nhpoly1305 - add NHPoly1305 support
      crypto: arm/nhpoly1305 - add NEON-accelerated NHPoly1305
      crypto: adiantum - add Adiantum support
      crypto: arm64/nhpoly1305 - add NEON-accelerated NHPoly1305
      crypto: arm64/chacha20 - add XChaCha20 support
      crypto: arm64/chacha20 - refactor to allow varying number of rounds
      crypto: arm64/chacha - add XChaCha12 support
      crypto: adiantum - propagate CRYPTO_ALG_ASYNC flag to instance
      crypto: x86/nhpoly1305 - add SSE2 accelerated NHPoly1305
      crypto: x86/nhpoly1305 - add AVX2 accelerated NHPoly1305
      crypto: x86/chacha20 - add XChaCha20 support
      crypto: x86/chacha20 - refactor to allow varying number of rounds
      crypto: x86/chacha - add XChaCha12 support
      crypto: x86/chacha - yield the FPU occasionally
      crypto: xchacha - add test vector from XChaCha20 draft RFC
      crypto: xchacha20 - fix comments for test vectors
      crypto: adiantum - adjust some comments to match latest paper
      crypto: user - support incremental algorithm dumps
      crypto: adiantum - fix leaking reference to hash algorithm
      crypto: x86/chacha - avoid sleeping under kernel_fpu_begin()
      crypto: skcipher - add might_sleep() to skcipher_walk_virt()
      crypto: salsa20-generic - don't unnecessarily use atomic walk
      crypto: cavium/nitrox - Fix build with !CONFIG_DEBUG_FS
      crypto: skcipher - remove remnants of internal IV generators

Fabio Estevam (1):
      crypto: mxc-scc - fix build warnings on ARM64

Gilad Ben-Yossef (8):
      crypto: ccree - add support for CryptoCell 713
      dt-bindings: crypto: ccree: add ccree 713
      crypto: ccree - add SM4 support
      crypto: testmgr - mark cts(cbc(aes)) as FIPS allowed
      crypto: cts - document NIST standard status
      crypto: ccree - add support for CryptoCell 703
      dt-bindings: crypto: ccree: add dt bindings for ccree 703
      MAINTAINERS: ccree: add co-maintainer

Harsh Jain (6):
      crypto: chelsio - Swap location of AAD and IV sent in WR
      crypto: chelsio - Use same value for both channel in single WR
      crypto: chelsio - cleanup:send addr as value in function argument
      crypto: chelsio - Handle PCI shutdown event
      crypto: chelsio - Reset counters on cxgb4 Detach
      crypto: chelsio - Fix wrong error counter increments

Herbert Xu (1):
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6

Horia Geantă (4):
      crypto: caam - add register map changes cf. Era 10
      crypto: caam/qi2 - add support for ChaCha20
      crypto: caam/jr - add support for Chacha20 + Poly1305
      crypto: caam/qi2 - add support for Chacha20 + Poly1305

Leonard Crestez (2):
      dt-bindings: crypto: Mention clocks for mxs-dcp
      crypto: mxs-dcp - Add support for dcp clk

Martin Willi (9):
      crypto: x86/chacha20 - Support partial lengths in 1-block SSSE3 variant
      crypto: x86/chacha20 - Support partial lengths in 4-block SSSE3 variant
      crypto: x86/chacha20 - Support partial lengths in 8-block AVX2 variant
      crypto: x86/chacha20 - Use larger block functions more aggressively
      crypto: x86/chacha20 - Add a 2-block AVX2 variant
      crypto: x86/chacha20 - Add a 4-block AVX2 variant
      crypto: x86/chacha20 - Add a 8-block AVX-512VL variant
      crypto: x86/chacha20 - Add a 2-block AVX-512VL variant
      crypto: x86/chacha20 - Add a 4-block AVX-512VL variant

Nagadheeraj Rottela (1):
      crypto: cavium/nitrox - Added AEAD cipher support

Nagadheeraj, Rottela (1):
      crypto: cavium/nitrox - crypto request format changes

Nathan Chancellor (2):
      crypto: ux500 - Use proper enum in cryp_set_dma_transfer
      crypto: ux500 - Use proper enum in hash_set_dma_transfer

Paulo Flabiano Smorigo (1):
      MAINTAINERS: change NX/VMX maintainers

Raveendra Padasalagi (1):
      crypto: bcm - fix normal/non key hash algorithm failure

Srikanth, Jampala (2):
      crypto: cavium/nitrox - Enable interrups for PF in SR-IOV mode.
      crypto: cavium/nitrox - Enabled Mailbox support

Stefan Wahren (1):
      hwrng: bcm2835 - Switch to SPDX identifier

Vitaly Chikunov (5):
      crypto: ecc - check for invalid values in the key verification test
      crypto: streebog - add Streebog hash function
      crypto: streebog - register Streebog in hash info for IMA
      crypto: streebog - add Streebog test vectors
      crypto: ecc - regularize scalar for scalar multiplication

Wenwen Wang (1):
      crypto: cavium/nitrox - fix a DMA pool free failure

Yael Chemla (3):
      crypto: ccree - adjust hash length to suit certain context specifics
      crypto: ccree - modify set_cipher_mode usage from cc_hash
      crypto: ccree - add SM3 support

Yangtao Li (1):
      crypto: cavium/nitrox - convert to DEFINE_SHOW_ATTRIBUTE

YueHaibing (1):
      crypto: chelsio - remove set but not used variable 'kctx_len'

 Documentation/crypto/api.rst                       |    9 -
 Documentation/crypto/architecture.rst              |   31 +-
 .../devicetree/bindings/crypto/arm-cryptocell.txt  |    8 +-
 .../devicetree/bindings/crypto/fsl-dcp.txt         |    2 +
 MAINTAINERS                                        |   11 +-
 arch/arm/crypto/Kconfig                            |   16 +-
 arch/arm/crypto/Makefile                           |    6 +-
 arch/arm/crypto/aes-ce-glue.c                      |    1 -
 arch/arm/crypto/aes-cipher-core.S                  |   62 +-
 .../{chacha20-neon-core.S => chacha-neon-core.S}   |   98 +-
 arch/arm/crypto/chacha-neon-glue.c                 |  201 ++
 arch/arm/crypto/chacha20-neon-glue.c               |  127 -
 arch/arm/crypto/nh-neon-core.S                     |  116 +
 arch/arm/crypto/nhpoly1305-neon-glue.c             |   77 +
 arch/arm64/crypto/Kconfig                          |    7 +-
 arch/arm64/crypto/Makefile                         |    7 +-
 .../{chacha20-neon-core.S => chacha-neon-core.S}   |  484 ++-
 arch/arm64/crypto/chacha-neon-glue.c               |  198 ++
 arch/arm64/crypto/chacha20-neon-glue.c             |  133 -
 arch/arm64/crypto/nh-neon-core.S                   |  103 +
 arch/arm64/crypto/nhpoly1305-neon-glue.c           |   77 +
 arch/s390/crypto/aes_s390.c                        |    2 +-
 arch/sparc/crypto/aes_glue.c                       |    5 -
 arch/sparc/crypto/camellia_glue.c                  |    5 -
 arch/sparc/crypto/des_glue.c                       |    5 -
 arch/x86/crypto/Makefile                           |   18 +-
 arch/x86/crypto/aesni-intel_avx-x86_64.S           | 3665 ++++++++++----------
 arch/x86/crypto/aesni-intel_glue.c                 |  353 +-
 arch/x86/crypto/chacha-avx2-x86_64.S               | 1025 ++++++
 arch/x86/crypto/chacha-avx512vl-x86_64.S           |  836 +++++
 ...acha20-ssse3-x86_64.S => chacha-ssse3-x86_64.S} |  327 +-
 arch/x86/crypto/chacha20-avx2-x86_64.S             |  448 ---
 arch/x86/crypto/chacha20_glue.c                    |  146 -
 arch/x86/crypto/chacha_glue.c                      |  304 ++
 arch/x86/crypto/nh-avx2-x86_64.S                   |  157 +
 arch/x86/crypto/nh-sse2-x86_64.S                   |  123 +
 arch/x86/crypto/nhpoly1305-avx2-glue.c             |   77 +
 arch/x86/crypto/nhpoly1305-sse2-glue.c             |   76 +
 arch/x86/crypto/poly1305_glue.c                    |   20 +-
 crypto/Kconfig                                     |   99 +-
 crypto/Makefile                                    |    8 +-
 crypto/ablkcipher.c                                |   94 +-
 crypto/acompress.c                                 |   10 +-
 crypto/adiantum.c                                  |  664 ++++
 crypto/aead.c                                      |   14 +-
 crypto/aes_generic.c                               |    9 +-
 crypto/aes_ti.c                                    |   18 +
 crypto/ahash.c                                     |   29 +-
 crypto/akcipher.c                                  |   11 +-
 crypto/algapi.c                                    |  247 +-
 crypto/blkcipher.c                                 |   20 +-
 crypto/cfb.c                                       |    2 +-
 crypto/chacha20_generic.c                          |  137 -
 crypto/chacha20poly1305.c                          |   12 +-
 crypto/chacha_generic.c                            |  217 ++
 crypto/cryptd.c                                    |    4 +-
 crypto/crypto_user_base.c                          |  136 +-
 crypto/crypto_user_stat.c                          |  301 +-
 crypto/ctr.c                                       |    2 -
 crypto/ecc.c                                       |   58 +-
 crypto/hash_info.c                                 |    4 +
 crypto/kpp.c                                       |   10 +-
 crypto/lz4.c                                       |    1 -
 crypto/lz4hc.c                                     |    1 -
 crypto/nhpoly1305.c                                |  254 ++
 crypto/pcrypt.c                                    |    2 +-
 crypto/poly1305_generic.c                          |  174 +-
 crypto/rng.c                                       |   16 +-
 crypto/salsa20_generic.c                           |    2 +-
 crypto/scompress.c                                 |   11 +-
 crypto/shash.c                                     |   12 +-
 crypto/skcipher.c                                  |   23 +-
 crypto/streebog_generic.c                          | 1140 ++++++
 crypto/tcrypt.c                                    |   59 +-
 crypto/testmgr.c                                   |   62 +
 crypto/testmgr.h                                   | 3220 ++++++++++++++++-
 drivers/block/drbd/drbd_receiver.c                 |    2 +-
 drivers/char/hw_random/bcm2835-rng.c               |    7 +-
 drivers/char/random.c                              |   51 +-
 drivers/crypto/Kconfig                             |    4 +-
 drivers/crypto/amcc/crypto4xx_alg.c                |    3 +-
 drivers/crypto/bcm/cipher.c                        |    9 +-
 drivers/crypto/caam/caamalg.c                      |  266 +-
 drivers/crypto/caam/caamalg_desc.c                 |  139 +-
 drivers/crypto/caam/caamalg_desc.h                 |    5 +
 drivers/crypto/caam/caamalg_qi.c                   |   37 +-
 drivers/crypto/caam/caamalg_qi2.c                  |  156 +-
 drivers/crypto/caam/caamhash.c                     |   20 +-
 drivers/crypto/caam/caampkc.c                      |   10 +-
 drivers/crypto/caam/caamrng.c                      |   10 +-
 drivers/crypto/caam/compat.h                       |    2 +
 drivers/crypto/caam/ctrl.c                         |   28 +-
 drivers/crypto/caam/desc.h                         |   28 +
 drivers/crypto/caam/desc_constr.h                  |    7 +-
 drivers/crypto/caam/regs.h                         |   74 +-
 drivers/crypto/cavium/nitrox/Makefile              |    5 +-
 drivers/crypto/cavium/nitrox/nitrox_aead.c         |  364 ++
 drivers/crypto/cavium/nitrox/nitrox_algs.c         |  456 +--
 drivers/crypto/cavium/nitrox/nitrox_common.h       |    6 +-
 drivers/crypto/cavium/nitrox/nitrox_csr.h          |   12 +-
 drivers/crypto/cavium/nitrox/nitrox_debugfs.c      |   48 +-
 drivers/crypto/cavium/nitrox/nitrox_debugfs.h      |   21 +
 drivers/crypto/cavium/nitrox/nitrox_dev.h          |   74 +-
 drivers/crypto/cavium/nitrox/nitrox_hal.c          |  114 +-
 drivers/crypto/cavium/nitrox/nitrox_hal.h          |    2 +
 drivers/crypto/cavium/nitrox/nitrox_isr.c          |   92 +-
 drivers/crypto/cavium/nitrox/nitrox_isr.h          |    2 +
 drivers/crypto/cavium/nitrox/nitrox_lib.c          |   22 +-
 drivers/crypto/cavium/nitrox/nitrox_main.c         |    3 +-
 drivers/crypto/cavium/nitrox/nitrox_mbx.c          |  204 ++
 drivers/crypto/cavium/nitrox/nitrox_mbx.h          |    9 +
 drivers/crypto/cavium/nitrox/nitrox_req.h          |  326 +-
 drivers/crypto/cavium/nitrox/nitrox_reqmgr.c       |  302 +-
 drivers/crypto/cavium/nitrox/nitrox_skcipher.c     |  498 +++
 drivers/crypto/cavium/nitrox/nitrox_sriov.c        |   94 +-
 drivers/crypto/ccp/ccp-crypto-aes-cmac.c           |    4 +-
 drivers/crypto/ccree/cc_aead.c                     |   35 +-
 drivers/crypto/ccree/cc_cipher.c                   |  104 +-
 drivers/crypto/ccree/cc_crypto_ctx.h               |    4 +-
 drivers/crypto/ccree/cc_driver.c                   |   50 +-
 drivers/crypto/ccree/cc_driver.h                   |   15 +-
 drivers/crypto/ccree/cc_hash.c                     |  189 +-
 drivers/crypto/ccree/cc_hw_queue_defs.h            |   30 +
 drivers/crypto/chelsio/chcr_algo.c                 |  418 ++-
 drivers/crypto/chelsio/chcr_algo.h                 |    2 +-
 drivers/crypto/chelsio/chcr_core.c                 |  195 +-
 drivers/crypto/chelsio/chcr_core.h                 |   44 +-
 drivers/crypto/chelsio/chcr_crypto.h               |   10 +-
 drivers/crypto/chelsio/chcr_ipsec.c                |  183 +-
 drivers/crypto/geode-aes.c                         |    2 +-
 drivers/crypto/inside-secure/safexcel_cipher.c     |    8 +-
 drivers/crypto/ixp4xx_crypto.c                     |    5 -
 drivers/crypto/mxc-scc.c                           |   12 +-
 drivers/crypto/mxs-dcp.c                           |   28 +-
 drivers/crypto/nx/nx-aes-ctr.c                     |    1 -
 drivers/crypto/omap-aes.c                          |    3 -
 drivers/crypto/omap-des.c                          |    1 -
 drivers/crypto/picoxcell_crypto.c                  |    3 +-
 drivers/crypto/qce/ablkcipher.c                    |    1 -
 drivers/crypto/qce/sha.c                           |    1 -
 drivers/crypto/sahara.c                            |    1 -
 drivers/crypto/talitos.c                           |    1 -
 drivers/crypto/ux500/cryp/cryp_core.c              |    4 +-
 drivers/crypto/ux500/hash/hash_core.c              |    2 +-
 drivers/md/dm-crypt.c                              |    2 +-
 drivers/md/dm-integrity.c                          |    2 +-
 drivers/net/wireless/cisco/airo.c                  |    2 +-
 drivers/net/wireless/intersil/orinoco/mic.c        |    6 +-
 drivers/staging/rtl8192e/rtllib_crypt_ccmp.c       |    2 +-
 .../rtl8192u/ieee80211/ieee80211_crypt_ccmp.c      |    2 +-
 drivers/usb/wusbcore/crypto.c                      |    2 +-
 fs/ubifs/auth.c                                    |    5 +-
 include/crypto/acompress.h                         |   38 +-
 include/crypto/aead.h                              |   41 +-
 include/crypto/akcipher.h                          |   74 +-
 include/crypto/chacha.h                            |   54 +
 include/crypto/chacha20.h                          |   27 -
 include/crypto/hash.h                              |   32 +-
 include/crypto/hash_info.h                         |    1 +
 include/crypto/internal/cryptouser.h               |    9 +-
 include/crypto/internal/skcipher.h                 |    2 -
 include/crypto/kpp.h                               |   48 +-
 include/crypto/nhpoly1305.h                        |   74 +
 include/crypto/poly1305.h                          |   28 +-
 include/crypto/rng.h                               |   27 +-
 include/crypto/skcipher.h                          |   49 +-
 include/crypto/streebog.h                          |   34 +
 include/linux/crypto.h                             |  331 +-
 include/uapi/linux/cryptouser.h                    |  102 +-
 include/uapi/linux/hash_info.h                     |    2 +
 kernel/padata.c                                    |    2 +-
 lib/Makefile                                       |    2 +-
 lib/{chacha20.c => chacha.c}                       |   59 +-
 net/bluetooth/smp.c                                |    8 +-
 net/mac80211/wep.c                                 |    4 +-
 net/wireless/lib80211_crypt_ccmp.c                 |    2 +-
 net/wireless/lib80211_crypt_tkip.c                 |    4 +-
 net/wireless/lib80211_crypt_wep.c                  |    4 +-
 security/apparmor/crypto.c                         |    2 +-
 security/integrity/evm/evm_crypto.c                |    3 +-
 security/keys/encrypted-keys/encrypted.c           |    4 +-
 security/keys/trusted.c                            |    4 +-
 tools/crypto/getstat.c                             |   72 +-
 183 files changed, 16615 insertions(+), 5868 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



[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]

  Powered by Linux