Crypto Update for 4.19

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

 



Hi Linus: 

Here is the crypto update for 4.19:

API:

- Fix dcache flushing crash in skcipher.
- Add hash finup self-tests.
- Reschedule during speed tests.

Algorithms:

- Remove insecure vmac and replace it with vmac64.
- Add public key verification for DH/ECDH.

Drivers:

- Decrease priority of sha-mb on x86.
- Improve NEON latency/throughput on ARM64.
- Add md5/sha384/sha512/des/3des to inside-secure.
- Support eip197d in inside-secure.
- Only register algorithms supported by the host in virtio.
- Add cts and remove incompatible cts1 from ccree.
- Add hisilicon SEC security accelerator driver.
- Replace msm hwrng driver with qcom pseudo rng driver.

Misc:

- Centralise CRC polynomials.

Please note that there are conflicts between the crypto tree and
the staging tree due to the removal of skein, to resolve that
conflict simply remove skein as is done in the staging tree.

There is also a conflict with the net tree because of changes in
CRC code that was touched in both trees.  To resolve this conflict,
simply use the net tree version of the driver but remove the CRC
polynomial macros as is done in the crypto tree.


Please pull from

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


Antoine Tenart (19):
      crypto: inside-secure - use the error handler for invalidation requests
      crypto: inside-secure - improve the counter computation
      crypto: sha512_generic - add a sha512 0-length pre-computed hash
      crypto: inside-secure - sha512 support
      crypto: inside-secure - hmac(sha512) support
      crypto: inside-secure - authenc(hmac(sha512), cbc(aes)) support
      crypto: sha512_generic - add a sha384 0-length pre-computed hash
      crypto: inside-secure - sha384 support
      crypto: inside-secure - hmac(sha384) support
      crypto: inside-secure - authenc(hmac(sha384), cbc(aes)) support
      crypto: inside-secure - move the firmware to a better location
      crypto: inside-secure - use precise compatibles
      Documentation/bindings: crypto: inside-secure: update the compatibles
      crypto: inside-secure - filter out the algorithms by engine
      crypto: inside-secure - add an invalidation flag
      crypto: inside-secure - eip197d support
      Documentation/bindings: crypto: inside-secure: eip197d support
      crypto: inside-secure - switch to SPDX identifiers
      crypto: inside-secure - initialize first_rdesc to make GCC happy

Ard Biesheuvel (5):
      crypto: arm64/aes-ce-gcm - operate on two input blocks at a time
      crypto: arm64/aes-ce-gcm - implement 2-way aggregation
      crypto: arm64/aes-ce-gcm - don't reload key schedule if avoidable
      crypto: arm64/ghash-ce - replace NEON yield check with block limit
      crypto: arm64/ghash-ce - implement 4-way aggregation

Colin Ian King (3):
      lib/mpi: remove redundant variable esign
      crypto: aegis - fix indentation of a statement
      crypto: cavium - make structure algs static

Denis Efremov (1):
      crypto: skcipher - remove the exporting of skcipher_walk_next

Eric Biggers (27):
      crypto: vmac - require a block cipher with 128-bit block size
      crypto: vmac - separate tfm and request context
      crypto: vmac - add nonced version with big endian digest
      crypto: vmac - remove insecure version with hardcoded nonce
      crypto: x86/sha256-mb - fix digest copy in sha256_mb_mgr_get_comp_job_avx2()
      crypto: MAINTAINERS - fix file path for SHA multibuffer code
      crypto: sha1_generic - add cra_priority
      crypto: sha256_generic - add cra_priority
      crypto: sha512_generic - add cra_priority
      crypto: x86/sha-mb - decrease priority of multibuffer algorithms
      crypto: shash - remove useless setting of type flags
      crypto: ahash - remove useless setting of type flags
      crypto: ahash - remove useless setting of cra_type
      crypto: aead - remove useless setting of type flags
      crypto: skcipher - remove useless setting of type flags
      crypto: remove redundant type flags from tfm allocation
      crypto: arm64/sha256 - increase cra_priority of scalar implementations
      crypto: skcipher - fix aligning block size in skcipher_copy_iv()
      crypto: scatterwalk - remove 'chain' argument from scatterwalk_crypto_chain()
      crypto: scatterwalk - remove scatterwalk_samebuf()
      crypto: skcipher - remove unnecessary setting of walk->nbytes
      crypto: skcipher - fix crash flushing dcache in error path
      crypto: blkcipher - fix crash flushing dcache in error path
      crypto: ablkcipher - fix crash flushing dcache in error path
      crypto: arm/chacha20 - always use vrev for 16-bit rotates
      crypto: dh - fix calculating encoded key size
      crypto: dh - make crypto_dh_encode_key() make robust

Farhan Ali (2):
      crypto: virtio - Read crypto services and algorithm masks
      crypto: virtio - Register an algo only if it's supported

Gilad Ben-Yossef (9):
      crypto: testmgr - add hash finup tests
      crypto: ccree - fix iv handling
      crypto: ccree - remove dead legacy code
      crypto: ccree - use CBC-CS3 CTS mode
      crypto: ccree - rate limit debug print
      crypto: ccree - drop useless type flag during reg
      crypto: ccree - remove cipher ivgen left overs
      crypto: ccree - zero all of request ctx before use
      crypto: ccree - allow bigger than sector XTS op

Gustavo A. R. Silva (4):
      crypto: chtls - use 64-bit arithmetic instead of 32-bit
      crypto: dh - fix memory leak
      crypto: rmd256 - use swap macro in rmd256_transform
      crypto: rmd320 - use swap macro in rmd320_transform

Hadar Gat (1):
      crypto: ccree - fix finup

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

Horia Geantă (1):
      crypto: tcrypt - reschedule during speed tests

Jia-Ju Bai (3):
      crypto: cavium/nitrox - Replace GFP_ATOMIC with GFP_KERNEL in crypto_alloc_context()
      crypto: qat/adf_aer - Replace GFP_ATOMIC with GFP_KERNEL in adf_dev_aer_schedule_reset()
      crypto: virtio - Replace GFP_ATOMIC with GFP_KERNEL in __virtio_crypto_ablkcipher_do_req()

Jonathan Cameron (3):
      dt-bindings: Add bindings for Hisilicon SEC crypto accelerators.
      crypto: hisilicon - SEC security accelerator driver
      arm64: dts: hisi: add SEC crypto accelerator nodes for hip07 SoC

Krzysztof Kozlowski (6):
      lib/crc: Move polynomial definition to separate header
      lib/crc: Use consistent naming for CRC-32 polynomials
      crypto: stm32_crc32 - Use existing define with polynomial
      net: ethernet: Use existing define with polynomial
      staging: rtl: Use existing define with polynomial
      lib: Use existing define with polynomial

Michael Müller (1):
      crypto: sharah - Unregister correct algorithms for SAHARA 3

Ofer Heifetz (11):
      crypto: inside-secure - increase minimum transfer size
      crypto: inside-secure - dynamic ring configuration allocation
      crypto: inside-secure - add multiple processing engine support
      crypto: inside-secure - adjust the TRC configuration for EIP197D
      crypto: inside-secure - reset CDR and RDR rings on module removal
      crypto: inside-secure - set tx_max_cmd_queue to 32
      crypto: inside-secure - md5 support
      crypto: inside-secure - hmac(md5) support
      crypto: inside-secure - ecb(des) and cbc(des) support
      crypto: inside-secure - ecb(des3_ede) and cbc(des3_ede) support
      crypto: inside-secure - remove request list to improve performance

Stafford Horne (1):
      crypto: skcipher - Fix -Wstringop-truncation warnings

Stephan Mueller (5):
      crypto: ecdh - add public key verification test
      crypto: dh - add public key verification test
      crypto: drbg - eliminate constant reinitialization of SGL
      crypto: dh - update test for public key verification
      crypto: ecdh - fix typo of P-192 b value

Stephan Müller (1):
      crypto: drbg - in-place cipher operation for CTR

Timur Tabi (1):
      crypto: qcom-rng - Add ACPI support

Tom Lendacky (6):
      crypto: ccp - Fix command completion detection race
      crypto: ccp - Add psp enabled message when initialization succeeds
      crypto: ccp - Remove unused #defines
      crypto: ccp - Support register differences between PSP devices
      crypto: ccp - Add support for new CCP/PSP device ID
      crypto: ccp - Check for NULL PSP pointer at module unload

Tudor-Dan Ambarus (2):
      crypto: atmel-ecc - fix to allow multi segment scatterlists
      crypto: atmel-ecc - remove overly verbose dev_info

Vinod Koul (5):
      hwrng: msm - remove msm hw_random driver
      dt-bindings: crypto: Move prng binding to crypto
      crypto: qcom-rng - Add Qcom prng driver
      dt-bindings: crypto: Add new compatible qcom, prng-ee
      crypto: qcom-rng - Add support for prng-ee

kbuild test robot (1):
      crypto: hisilicon - sec_send_request() can be static

lionel.debieve@xxxxxx (3):
      crypto: stm32/cryp - Add power management support
      crypto: stm32/hash - Add power management support
      crypto: stm32/crc - Add power management support

 Documentation/crypto/api-samples.rst               |    2 +-
 .../bindings/crypto/hisilicon,hip07-sec.txt        |   67 +
 .../bindings/crypto/inside-secure-safexcel.txt     |   15 +-
 .../bindings/{rng => crypto}/qcom,prng.txt         |    4 +-
 MAINTAINERS                                        |    2 +-
 arch/arm/crypto/chacha20-neon-core.S               |   10 +-
 arch/arm/crypto/ghash-ce-glue.c                    |    5 +-
 arch/arm/crypto/sha1-ce-glue.c                     |    1 -
 arch/arm/crypto/sha1_glue.c                        |    1 -
 arch/arm/crypto/sha1_neon_glue.c                   |    1 -
 arch/arm/crypto/sha2-ce-glue.c                     |    2 -
 arch/arm/crypto/sha256_glue.c                      |    2 -
 arch/arm/crypto/sha256_neon_glue.c                 |    2 -
 arch/arm/crypto/sha512-glue.c                      |    2 -
 arch/arm/crypto/sha512-neon-glue.c                 |    2 -
 arch/arm64/boot/dts/hisilicon/hip07.dtsi           |  284 +++++
 arch/arm64/crypto/aes-glue.c                       |    3 -
 arch/arm64/crypto/ghash-ce-core.S                  |  271 ++--
 arch/arm64/crypto/ghash-ce-glue.c                  |  204 +--
 arch/arm64/crypto/sha1-ce-glue.c                   |    1 -
 arch/arm64/crypto/sha2-ce-glue.c                   |    2 -
 arch/arm64/crypto/sha256-glue.c                    |    8 +-
 arch/arm64/crypto/sha3-ce-glue.c                   |    4 -
 arch/arm64/crypto/sha512-ce-glue.c                 |    2 -
 arch/arm64/crypto/sha512-glue.c                    |    2 -
 arch/arm64/crypto/sm3-ce-glue.c                    |    1 -
 arch/mips/cavium-octeon/crypto/octeon-md5.c        |    1 -
 arch/mips/cavium-octeon/crypto/octeon-sha1.c       |    1 -
 arch/mips/cavium-octeon/crypto/octeon-sha256.c     |    2 -
 arch/mips/cavium-octeon/crypto/octeon-sha512.c     |    2 -
 arch/powerpc/crypto/md5-glue.c                     |    1 -
 arch/powerpc/crypto/sha1-spe-glue.c                |    1 -
 arch/powerpc/crypto/sha1.c                         |    1 -
 arch/powerpc/crypto/sha256-spe-glue.c              |    2 -
 arch/s390/crypto/aes_s390.c                        |    1 -
 arch/s390/crypto/ghash_s390.c                      |    1 -
 arch/s390/crypto/sha1_s390.c                       |    1 -
 arch/s390/crypto/sha256_s390.c                     |    2 -
 arch/s390/crypto/sha512_s390.c                     |    2 -
 arch/sparc/crypto/md5_glue.c                       |    1 -
 arch/sparc/crypto/sha1_glue.c                      |    1 -
 arch/sparc/crypto/sha256_glue.c                    |    2 -
 arch/sparc/crypto/sha512_glue.c                    |    2 -
 arch/x86/crypto/ghash-clmulni-intel_glue.c         |    6 +-
 arch/x86/crypto/poly1305_glue.c                    |    1 -
 arch/x86/crypto/sha1-mb/sha1_mb.c                  |   17 +-
 arch/x86/crypto/sha1_ssse3_glue.c                  |    4 -
 arch/x86/crypto/sha256-mb/sha256_mb.c              |   18 +-
 .../crypto/sha256-mb/sha256_mb_mgr_flush_avx2.S    |    2 +-
 arch/x86/crypto/sha256_ssse3_glue.c                |    8 -
 arch/x86/crypto/sha512-mb/sha512_mb.c              |   18 +-
 arch/x86/crypto/sha512_ssse3_glue.c                |    6 -
 crypto/ablkcipher.c                                |   59 +-
 crypto/aegis128.c                                  |    1 -
 crypto/aegis128l.c                                 |    3 +-
 crypto/aegis256.c                                  |    1 -
 crypto/blkcipher.c                                 |   55 +-
 crypto/crypto_null.c                               |    1 -
 crypto/dh.c                                        |   66 +-
 crypto/dh_helper.c                                 |   43 +-
 crypto/drbg.c                                      |   39 +-
 crypto/ecc.c                                       |   42 +-
 crypto/ecc_curve_defs.h                            |   22 +-
 crypto/ghash-generic.c                             |    1 -
 crypto/lrw.c                                       |    4 +-
 crypto/md4.c                                       |    1 -
 crypto/md5.c                                       |    1 -
 crypto/morus1280.c                                 |    1 -
 crypto/morus640.c                                  |    1 -
 crypto/poly1305_generic.c                          |    1 -
 crypto/rmd128.c                                    |    1 -
 crypto/rmd160.c                                    |    1 -
 crypto/rmd256.c                                    |   11 +-
 crypto/rmd320.c                                    |   13 +-
 crypto/scatterwalk.c                               |    2 +-
 crypto/sha1_generic.c                              |    2 +-
 crypto/sha256_generic.c                            |    4 +-
 crypto/sha3_generic.c                              |    4 -
 crypto/sha512_generic.c                            |   26 +-
 crypto/skcipher.c                                  |   57 +-
 crypto/sm3_generic.c                               |    1 -
 crypto/tcrypt.c                                    |   38 +-
 crypto/testmgr.c                                   |   59 +-
 crypto/testmgr.h                                   |  233 ++--
 crypto/tgr192.c                                    |    3 -
 crypto/vmac.c                                      |  444 ++++---
 crypto/wp512.c                                     |    3 -
 crypto/xts.c                                       |    4 +-
 drivers/char/hw_random/Kconfig                     |   13 -
 drivers/char/hw_random/Makefile                    |    1 -
 drivers/char/hw_random/msm-rng.c                   |  183 ---
 drivers/crypto/Kconfig                             |   15 +
 drivers/crypto/Makefile                            |    2 +
 drivers/crypto/amcc/crypto4xx_core.c               |   18 +-
 drivers/crypto/atmel-ecc.c                         |   35 +-
 drivers/crypto/atmel-sha.c                         |    4 +-
 drivers/crypto/axis/artpec6_crypto.c               |   28 +-
 drivers/crypto/bcm/cipher.c                        |    8 +-
 drivers/crypto/caam/caamhash.c                     |    3 +-
 drivers/crypto/cavium/cpt/cptvf_algs.c             |    2 +-
 drivers/crypto/cavium/nitrox/nitrox_lib.c          |    2 +-
 drivers/crypto/ccp/ccp-crypto-aes-cmac.c           |    3 +-
 drivers/crypto/ccp/ccp-crypto-sha.c                |    3 +-
 drivers/crypto/ccp/psp-dev.c                       |   35 +-
 drivers/crypto/ccp/psp-dev.h                       |   19 +-
 drivers/crypto/ccp/sp-dev.h                        |    7 +-
 drivers/crypto/ccp/sp-pci.c                        |   36 +-
 drivers/crypto/ccree/cc_aead.c                     |   16 +-
 drivers/crypto/ccree/cc_buffer_mgr.c               |    8 +-
 drivers/crypto/ccree/cc_cipher.c                   |  170 +--
 drivers/crypto/ccree/cc_cipher.h                   |    1 -
 drivers/crypto/ccree/cc_driver.c                   |    4 +-
 drivers/crypto/ccree/cc_driver.h                   |    1 -
 drivers/crypto/ccree/cc_hash.c                     |   85 +-
 drivers/crypto/chelsio/chcr_algo.c                 |    7 +-
 drivers/crypto/chelsio/chtls/chtls_hw.c            |    2 +-
 drivers/crypto/hisilicon/Kconfig                   |   14 +
 drivers/crypto/hisilicon/Makefile                  |    2 +
 drivers/crypto/hisilicon/sec/Makefile              |    3 +
 drivers/crypto/hisilicon/sec/sec_algs.c            | 1122 +++++++++++++++++
 drivers/crypto/hisilicon/sec/sec_drv.c             | 1323 ++++++++++++++++++++
 drivers/crypto/hisilicon/sec/sec_drv.h             |  428 +++++++
 drivers/crypto/inside-secure/safexcel.c            |  474 ++++---
 drivers/crypto/inside-secure/safexcel.h            |  201 +--
 drivers/crypto/inside-secure/safexcel_cipher.c     |  492 ++++++--
 drivers/crypto/inside-secure/safexcel_hash.c       |  560 +++++++--
 drivers/crypto/inside-secure/safexcel_ring.c       |   63 +-
 drivers/crypto/marvell/hash.c                      |    3 +-
 drivers/crypto/n2_core.c                           |    3 +-
 drivers/crypto/nx/nx-aes-xcbc.c                    |    1 -
 drivers/crypto/nx/nx-sha256.c                      |    1 -
 drivers/crypto/nx/nx-sha512.c                      |    1 -
 drivers/crypto/omap-sham.c                         |   36 +-
 drivers/crypto/padlock-sha.c                       |    8 +-
 drivers/crypto/qat/qat_common/adf_aer.c            |    2 +-
 drivers/crypto/qce/sha.c                           |    3 +-
 drivers/crypto/qcom-rng.c                          |  229 ++++
 drivers/crypto/s5p-sss.c                           |    9 +-
 drivers/crypto/sahara.c                            |   10 +-
 drivers/crypto/stm32/stm32-cryp.c                  |   62 +
 drivers/crypto/stm32/stm32-hash.c                  |   95 +-
 drivers/crypto/stm32/stm32_crc32.c                 |   71 +-
 drivers/crypto/sunxi-ss/sun4i-ss-core.c            |   20 +-
 drivers/crypto/talitos.c                           |   37 +-
 drivers/crypto/ux500/hash/hash_core.c              |   15 +-
 drivers/crypto/virtio/virtio_crypto_algs.c         |  116 +-
 drivers/crypto/virtio/virtio_crypto_common.h       |   25 +-
 drivers/crypto/virtio/virtio_crypto_core.c         |   29 +
 drivers/crypto/virtio/virtio_crypto_mgr.c          |   81 +-
 drivers/crypto/vmx/ghash.c                         |    2 +-
 drivers/net/ethernet/amd/xgbe/xgbe-dev.c           |    4 +-
 drivers/net/ethernet/apple/bmac.c                  |    8 +-
 drivers/net/ethernet/broadcom/tg3.c                |    3 +-
 drivers/net/ethernet/freescale/fec_main.c          |    4 +-
 drivers/net/ethernet/freescale/fs_enet/fec.h       |    3 -
 drivers/net/ethernet/freescale/fs_enet/mac-fec.c   |    3 +-
 drivers/net/ethernet/micrel/ks8851_mll.c           |    3 +-
 drivers/net/ethernet/synopsys/dwc-xlgmac-hw.c      |    4 +-
 drivers/staging/rtl8712/rtl871x_security.c         |    5 +-
 drivers/staging/rtl8723bs/core/rtw_security.c      |    5 +-
 drivers/staging/skein/skein_generic.c              |    3 -
 include/crypto/dh.h                                |    4 +
 include/crypto/drbg.h                              |    3 +-
 include/crypto/scatterwalk.h                       |   15 +-
 include/crypto/sha.h                               |    4 +
 include/crypto/vmac.h                              |   63 -
 include/linux/crc32poly.h                          |   20 +
 lib/crc32.c                                        |   11 +-
 lib/crc32defs.h                                    |   14 -
 lib/decompress_bunzip2.c                           |    3 +-
 lib/gen_crc32table.c                               |    5 +-
 lib/mpi/mpi-pow.c                                  |    3 +-
 lib/xz/xz_crc32.c                                  |    3 +-
 net/tls/tls_device_fallback.c                      |    2 +-
 security/keys/dh.c                                 |    2 +-
 175 files changed, 6690 insertions(+), 2011 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