LKML Archive on lore.kernel.org
 help / color / Atom feed
From: Herbert Xu <herbert@gondor.apana.org.au>
To: Linus Torvalds <torvalds@linux-foundation.org>,
	"David S. Miller" <davem@davemloft.net>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linux Crypto Mailing List <linux-crypto@vger.kernel.org>
Subject: [GIT PULL] Crypto Update for 5.8
Date: Mon, 1 Jun 2020 12:45:33 +1000
Message-ID: <20200601024533.GA18937@gondor.apana.org.au> (raw)
In-Reply-To: <20200401042720.GA12178@gondor.apana.org.au>

Hi Linus:

API:

- Introduce crypto_shash_tfm_digest() and use it wherever possible.
- Fix use-after-free and race in crypto_spawn_alg.
- Add support for parallel and batch requests to crypto_engine.

Algorithms:

- Update jitter RNG for SP800-90B compliance.
- Always use jitter RNG as seed in drbg.

Drivers:

- Add Arm CryptoCell driver cctrng.
- Add support for SEV-ES to the PSP driver in ccp.

The following changes since commit 55b3209acbb01cb02b1ee6b1afe80d83b1aab36d:

  crypto: caam - fix the address of the last entry of S/G (2020-04-16 16:48:56 +1000)

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 58ca0060ec4e51208d2eee12198fc55fd9e4feb3:

  crypto: hisilicon - fix driver compatibility issue with different versions of devices (2020-05-28 17:27:52 +1000)

----------------------------------------------------------------
Andy Shevchenko (1):
      hwrng: optee - Use UUID API for exporting the UUID

Arnd Bergmann (3):
      crypto: ccp -- don't "select" CONFIG_DMADEVICES
      crypto - Avoid free() namespace collision
      crypto: blake2b - Fix clang optimization for ARMv7-M

Barry Song (1):
      crypto: acomp - search acomp with scomp backend in crypto_has_acomp

Christophe JAILLET (2):
      crypto: marvell/octeontx - Add missing '\n' in log messages
      crypto: cavium/nitrox - Fix a typo in a comment

Colin Ian King (2):
      crypto: chelsio - remove redundant assignment to variable error
      crypto: algif_rng - remove redundant assignment to variable err

Corentin Labbe (2):
      crypto: ctr - no longer needs CRYPTO_SEQIV
      crypto: drbg - should select CTR

Daniel Jordan (1):
      padata: add separate cpuhp node for CPUHP_PADATA_DEAD

Eric Biggers (29):
      crypto: algapi - Avoid spurious modprobe on LOADED
      crypto: lib/sha256 - return void
      crypto: hash - introduce crypto_shash_tfm_digest()
      crypto: arm64/aes-glue - use crypto_shash_tfm_digest()
      crypto: essiv - use crypto_shash_tfm_digest()
      crypto: artpec6 - use crypto_shash_tfm_digest()
      crypto: ccp - use crypto_shash_tfm_digest()
      crypto: ccree - use crypto_shash_tfm_digest()
      crypto: hisilicon/sec2 - use crypto_shash_tfm_digest()
      crypto: mediatek - use crypto_shash_tfm_digest()
      crypto: n2 - use crypto_shash_tfm_digest()
      crypto: omap-sham - use crypto_shash_tfm_digest()
      crypto: s5p-sss - use crypto_shash_tfm_digest()
      nfc: s3fwrn5: use crypto_shash_tfm_digest()
      fscrypt: use crypto_shash_tfm_digest()
      ecryptfs: use crypto_shash_tfm_digest()
      nfsd: use crypto_shash_tfm_digest()
      ubifs: use crypto_shash_tfm_digest()
      Bluetooth: use crypto_shash_tfm_digest()
      sctp: use crypto_shash_tfm_digest()
      KEYS: encrypted: use crypto_shash_tfm_digest()
      ASoC: cros_ec_codec: use crypto_shash_tfm_digest()
      mptcp: use SHA256_BLOCK_SIZE, not SHA_MESSAGE_BYTES
      crypto: powerpc/sha1 - remove unused temporary workspace
      crypto: powerpc/sha1 - prefix the "sha1_" functions
      crypto: s390/sha1 - prefix the "sha1_" functions
      crypto: lib/sha1 - rename "sha" to "sha1"
      crypto: lib/sha1 - remove unnecessary includes of linux/cryptohash.h
      crypto: lib/sha1 - fold linux/cryptohash.h into crypto/sha.h

Etienne Carriere (2):
      crypto: stm32/hash - defer probe for reset controller
      crypto: stm32/hash - defer probe for dma device

Hadar Gat (7):
      dt-bindings: add device tree binding for Arm CryptoCell trng engine
      hwrng: cctrng - introduce Arm CryptoCell driver
      MAINTAINERS: add HG as cctrng maintainer
      hwrng: cctrng - add missing include to linux/fips.h
      hwrng: cctrng - Add dependency on OF
      hwrng: cctrng - change default to n
      hwrng: cctrng - update help description

Hao Fang (1):
      crypto: hisilicon - add vfs_num module parameter for hpre/sec

Herbert Xu (4):
      crypto: api - Fix use-after-free and race in crypto_spawn_alg
      hwrng: cctrng - Add dependency on HAS_IOMEM
      hwrng: cctrng - Remove unnecessary FIPS ifdef
      Revert "ASoC: cros_ec_codec: use crypto_shash_tfm_digest()"

Hui Tang (2):
      crypto: hisilicon/hpre - add controller reset support for HPRE
      crypto: hisilicon/hpre - add debugfs for Hisilicon HPRE

Iuliana Prodan (4):
      crypto: algapi - create function to add request in front of queue
      crypto: engine - support for parallel requests based on retry mechanism
      crypto: engine - support for batch requests
      crypto: engine - do not requeue in case of fatal error

Kai Ye (1):
      crypto: hisilicon/sec2 - add debugfs for Hisilicon SEC

Lionel Debieve (1):
      crypto: stm32/hash - don't print error on probe deferral

Longfang Liu (6):
      crypto: hisilicon/sec2 - modify the SEC probe process
      crypto: hisilicon/hpre - modify the HPRE probe process
      crypto: hisilicon/zip - modify the ZIP probe process
      crypto: hisilicon/qm - add debugfs for QM
      crypto: hisilicon/qm - add debugfs to the QM state machine
      crypto: hisilicon/zip - add debugfs for Hisilicon ZIP

Mark Brown (1):
      crypto: arm64 - Consistently enable extension

Markus Elfring (3):
      hwrng: omap - Delete an error message in of_get_omap_rng_device_details()
      hwrng: xgene - Delete an error message in xgene_rng_probe()
      crypto: sun8i-ss - Delete an error message in sun8i_ss_probe()

Nathan Chancellor (1):
      lib/mpi: Fix 64-bit MIPS build with Clang

Nicolas Toromanoff (5):
      crypto: stm32/crc32 - fix ext4 chksum BUG_ON()
      crypto: stm32/crc32 - fix run-time self test issue.
      crypto: stm32/crc32 - fix multi-instance
      crypto: stm32/crc32 - don't sleep in runtime pm
      crypto: stm32/crc32 - protect from concurrent accesses

Rikard Falkeborn (4):
      crypto: ccree - constify struct debugfs_reg32
      crypto: hisilicon/hpre - constify struct debugfs_reg32
      crypto: hisilicon/zip - constify struct debugfs_reg32
      crypto: hisilicon/sec2 - constify sec_dfx_regs

Shukun Tan (12):
      crypto: hisilicon - put vfs_num into struct hisi_qm
      crypto: hisilicon - unify SR-IOV related codes into QM
      crypto: hisilicon/qm - add controller reset interface
      crypto: hisilicon/zip - add controller reset support for zip
      crypto: hisilicon/qm - fix build failure with ACPI off
      crypto: hisilicon - refactor module parameter pf_q_num related code
      crypto: hisilicon - add FLR support
      crypto: hisilicon - remove use_dma_api related codes
      crypto: hisilicon - remove codes of directly report device errors through MSI
      crypto: hisilicon - add device error report through abnormal irq
      crypto: hisilicon/qm - add DebugFS for xQC and xQE dump
      crypto: hisilicon/qm - change debugfs file name from qm_regs to regs

Stephan Müller (2):
      crypto: jitter - SP800-90B compliance
      crypto: drbg - always seeded with SP800-90B compliant noise source

Stephen Rothwell (1):
      crypto: hisilicon/qm - add more ACPI dependencies

Tang Bin (5):
      crypto: amlogic - Delete duplicate dev_err in meson_crypto_probe()
      crypto: bcm - Delete redundant variable definition
      crypto: bcm - Remove the unnecessary cast for PTR_ERR().
      crypto: bcm - Fix unused assignment
      crypto: bcm - Use the defined variable to clean code

Tom Lendacky (1):
      crypto: ccp - Add support for SEV-ES to the PSP driver

Wei Yongjun (1):
      crypto: drbg - fix error return code in drbg_alloc_state()

Weili Qian (3):
      crypto: hisilicon - unify initial value assignment into QM
      crypto: hisilicon - QM memory management optimization
      crypto: hisilicon - fix driver compatibility issue with different versions of devices

Yang Shen (2):
      crypto: hisilicon/sec2 - add controller reset support for SEC2
      crypto: hisilicon/qm - stop qp by judging sq and cq tail

Zhou Wang (2):
      crypto: hisilicon/qm - add state machine for QM
      crypto: hisilicon/zip - Use temporary sqe when doing work

Zou Wei (2):
      crypto: hisilicon/qm - Make qm_controller_reset() static
      hwrng: cctrng - Make some symbols static

 Documentation/ABI/testing/debugfs-hisi-hpre           |   89 +++-
 Documentation/ABI/testing/debugfs-hisi-sec            |   94 +++-
 Documentation/ABI/testing/debugfs-hisi-zip            |   70 ++-
 Documentation/devicetree/bindings/rng/arm-cctrng.yaml |   54 +++
 Documentation/security/siphash.rst                    |    2 +-
 MAINTAINERS                                           |    9 +
 arch/arm/crypto/sha1_glue.c                           |    1 -
 arch/arm/crypto/sha1_neon_glue.c                      |    1 -
 arch/arm/crypto/sha256_glue.c                         |    1 -
 arch/arm/crypto/sha256_neon_glue.c                    |    1 -
 arch/arm/kernel/armksyms.c                            |    1 -
 arch/arm64/crypto/aes-glue.c                          |    4 +-
 arch/arm64/crypto/crct10dif-ce-core.S                 |    2 +-
 arch/arm64/crypto/sha256-glue.c                       |    1 -
 arch/arm64/crypto/sha512-glue.c                       |    1 -
 arch/microblaze/kernel/microblaze_ksyms.c             |    1 -
 arch/mips/cavium-octeon/crypto/octeon-md5.c           |    1 -
 arch/powerpc/crypto/md5-glue.c                        |    1 -
 arch/powerpc/crypto/sha1-spe-glue.c                   |    1 -
 arch/powerpc/crypto/sha1.c                            |   33 +-
 arch/powerpc/crypto/sha256-spe-glue.c                 |    1 -
 arch/s390/crypto/sha1_s390.c                          |   12 +-
 arch/sparc/crypto/md5_glue.c                          |    1 -
 arch/sparc/crypto/sha1_glue.c                         |    1 -
 arch/sparc/crypto/sha256_glue.c                       |    1 -
 arch/sparc/crypto/sha512_glue.c                       |    1 -
 arch/unicore32/kernel/ksyms.c                         |    1 -
 arch/x86/crypto/sha1_ssse3_glue.c                     |    1 -
 arch/x86/crypto/sha256_ssse3_glue.c                   |    1 -
 arch/x86/crypto/sha512_ssse3_glue.c                   |    1 -
 crypto/Kconfig                                        |    3 +-
 crypto/algapi.c                                       |   32 +-
 crypto/algif_rng.c                                    |    2 +-
 crypto/api.c                                          |    3 +-
 crypto/blake2b_generic.c                              |    4 +-
 crypto/crypto_engine.c                                |  168 +++++--
 crypto/drbg.c                                         |   30 +-
 crypto/essiv.c                                        |    4 +-
 crypto/internal.h                                     |    1 +
 crypto/jitterentropy-kcapi.c                          |   27 ++
 crypto/jitterentropy.c                                |  417 +++++++++++++----
 crypto/lrw.c                                          |    6 +-
 crypto/sha1_generic.c                                 |    5 +-
 crypto/sha256_generic.c                               |   14 +-
 crypto/shash.c                                        |   16 +
 crypto/xts.c                                          |    6 +-
 drivers/char/hw_random/Kconfig                        |   13 +
 drivers/char/hw_random/Makefile                       |    1 +
 drivers/char/hw_random/cctrng.c                       |  735 ++++++++++++++++++++++++++++++
 drivers/char/hw_random/cctrng.h                       |   72 +++
 drivers/char/hw_random/omap-rng.c                     |    5 +-
 drivers/char/hw_random/optee-rng.c                    |    2 +-
 drivers/char/hw_random/xgene-rng.c                    |    4 +-
 drivers/char/random.c                                 |    8 +-
 drivers/crypto/allwinner/sun8i-ss/sun8i-ss-core.c     |    4 +-
 drivers/crypto/amlogic/amlogic-gxl-core.c             |    4 +-
 drivers/crypto/atmel-sha.c                            |    1 -
 drivers/crypto/axis/artpec6_crypto.c                  |   10 +-
 drivers/crypto/bcm/cipher.c                           |   27 +-
 drivers/crypto/cavium/nitrox/nitrox_main.c            |    2 +-
 drivers/crypto/ccp/Kconfig                            |    3 +-
 drivers/crypto/ccp/ccp-crypto-sha.c                   |    9 +-
 drivers/crypto/ccp/sev-dev.c                          |   43 ++
 drivers/crypto/ccree/cc_cipher.c                      |    9 +-
 drivers/crypto/ccree/cc_debugfs.c                     |    4 +-
 drivers/crypto/chelsio/chcr_algo.c                    |    3 +-
 drivers/crypto/chelsio/chcr_ipsec.c                   |    1 -
 drivers/crypto/hisilicon/Kconfig                      |    4 +
 drivers/crypto/hisilicon/hpre/hpre.h                  |   18 +-
 drivers/crypto/hisilicon/hpre/hpre_crypto.c           |   99 +++-
 drivers/crypto/hisilicon/hpre/hpre_main.c             |  355 +++++++--------
 drivers/crypto/hisilicon/qm.c                         | 3769 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------
 drivers/crypto/hisilicon/qm.h                         |  120 ++++-
 drivers/crypto/hisilicon/sec2/sec.h                   |    5 +-
 drivers/crypto/hisilicon/sec2/sec_crypto.c            |   20 +-
 drivers/crypto/hisilicon/sec2/sec_main.c              |  379 ++++++---------
 drivers/crypto/hisilicon/zip/zip.h                    |    8 +
 drivers/crypto/hisilicon/zip/zip_crypto.c             |   20 +-
 drivers/crypto/hisilicon/zip/zip_main.c               |  362 +++++++--------
 drivers/crypto/marvell/octeontx/otx_cptpf_main.c      |    4 +-
 drivers/crypto/marvell/octeontx/otx_cptpf_mbox.c      |   12 +-
 drivers/crypto/marvell/octeontx/otx_cptpf_ucode.c     |   95 ++--
 drivers/crypto/marvell/octeontx/otx_cptvf_algs.c      |    6 +-
 drivers/crypto/marvell/octeontx/otx_cptvf_main.c      |   12 +-
 drivers/crypto/marvell/octeontx/otx_cptvf_reqmgr.c    |   10 +-
 drivers/crypto/mediatek/mtk-sha.c                     |    7 +-
 drivers/crypto/n2_core.c                              |    7 +-
 drivers/crypto/omap-sham.c                            |   21 +-
 drivers/crypto/s5p-sss.c                              |   39 +-
 drivers/crypto/stm32/stm32-crc32.c                    |  230 +++++++---
 drivers/crypto/stm32/stm32-hash.c                     |   38 +-
 drivers/nfc/s3fwrn5/firmware.c                        |   10 +-
 fs/crypto/fname.c                                     |    7 +-
 fs/crypto/hkdf.c                                      |    6 +-
 fs/ecryptfs/crypto.c                                  |   17 +-
 fs/f2fs/hash.c                                        |    1 -
 fs/nfsd/nfs4recover.c                                 |   26 +-
 fs/ubifs/auth.c                                       |   20 +-
 fs/ubifs/master.c                                     |    9 +-
 fs/ubifs/replay.c                                     |   14 +-
 include/crypto/acompress.h                            |    2 +-
 include/crypto/algapi.h                               |    2 +
 include/crypto/drbg.h                                 |    6 +-
 include/crypto/engine.h                               |   15 +-
 include/crypto/hash.h                                 |   19 +
 include/crypto/sha.h                                  |   28 +-
 include/crypto/sha256_base.h                          |    6 +-
 include/linux/cryptohash.h                            |   14 -
 include/linux/filter.h                                |    4 +-
 include/linux/padata.h                                |    6 +-
 include/linux/psp-sev.h                               |    2 +
 include/net/tcp.h                                     |    1 -
 include/uapi/linux/psp-sev.h                          |    2 +
 kernel/bpf/core.c                                     |   18 +-
 kernel/padata.c                                       |   14 +-
 lib/crypto/chacha.c                                   |    1 -
 lib/crypto/sha256.c                                   |   20 +-
 lib/mpi/longlong.h                                    |    2 +-
 lib/sha1.c                                            |   24 +-
 net/bluetooth/smp.c                                   |    6 +-
 net/core/secure_seq.c                                 |    1 -
 net/ipv6/addrconf.c                                   |   10 +-
 net/ipv6/seg6_hmac.c                                  |    1 -
 net/mptcp/crypto.c                                    |    4 +-
 net/sctp/auth.c                                       |   10 +-
 net/sctp/sm_make_chunk.c                              |   23 +-
 security/keys/encrypted-keys/encrypted.c              |   18 +-
 127 files changed, 5634 insertions(+), 2462 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/rng/arm-cctrng.yaml
 create mode 100644 drivers/char/hw_random/cctrng.c
 create mode 100644 drivers/char/hw_random/cctrng.h
 delete mode 100644 include/linux/cryptohash.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

  parent reply index

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-16  8:49 [GIT PULL] Crypto Update for 5.4 Herbert Xu
2019-09-18 19:55 ` pr-tracker-bot
2019-09-23  5:05 ` [GIT PULL] Crypto Fixes " Herbert Xu
2019-09-23 16:50   ` pr-tracker-bot
2019-10-10 12:38   ` Herbert Xu
2019-10-10 15:45     ` pr-tracker-bot
2019-11-17  1:00     ` Herbert Xu
2019-11-17  2:35       ` pr-tracker-bot
2019-12-02  6:20   ` [GIT PULL] Crypto Fixes for 5.5 Herbert Xu
2019-12-03  1:30     ` pr-tracker-bot
2019-12-14  8:47     ` Herbert Xu
2019-12-14 22:05       ` pr-tracker-bot
2020-01-15 15:08       ` Herbert Xu
2020-01-15 19:35         ` pr-tracker-bot
2020-02-13  3:32         ` [GIT PULL] Crypto Fixes for 5.6 Herbert Xu
2020-02-13 22:40           ` pr-tracker-bot
2020-02-24  6:00           ` Herbert Xu
2020-02-24 20:25             ` pr-tracker-bot
2020-03-12 11:57             ` Herbert Xu
2020-03-12 16:40               ` Linus Torvalds
2020-03-13  5:27                 ` Masahiro Yamada
2020-03-20 23:53                 ` Jason A. Donenfeld
2020-03-21 15:43                   ` Linus Torvalds
2020-03-21  0:49                 ` [PATCH RFC 0/3] x86: probe for assembler capabilities in Kconfig Jason A. Donenfeld
2020-03-21  0:49                   ` [PATCH RFC 1/3] x86: probe assembler instead of kconfig instead of makefile Jason A. Donenfeld
2020-03-21  0:49                   ` [PATCH RFC 2/3] crypto: x86 - rework configuration based on Kconfig Jason A. Donenfeld
2020-03-21  0:49                   ` [PATCH RFC 3/3] crypto: curve25519 - do not pollute dispatcher based on assembler Jason A. Donenfeld
2020-03-12 17:05               ` [GIT PULL] Crypto Fixes for 5.6 pr-tracker-bot
2020-03-23 22:54               ` Herbert Xu
2020-03-23 23:05                 ` pr-tracker-bot
2020-04-08  6:15           ` [GIT PULL] Crypto Fixes for 5.7 Herbert Xu
2020-04-09  4:55             ` pr-tracker-bot
2020-04-29  5:54             ` Herbert Xu
2020-04-29 16:50               ` pr-tracker-bot
2020-05-06  5:10               ` Herbert Xu
2020-05-06 17:25                 ` pr-tracker-bot
2020-06-11  4:05             ` [GIT PULL] Crypto Fixes for 5.8 Herbert Xu
2020-06-11 18:25               ` pr-tracker-bot
2020-06-21  8:23               ` Herbert Xu
2020-06-21 17:10                 ` pr-tracker-bot
2020-06-29  2:16                 ` Herbert Xu
2020-06-29 17:15                   ` pr-tracker-bot
2019-11-25  3:45 ` [GIT PULL] Crypto Update for 5.5 Herbert Xu
2019-11-26  4:25   ` pr-tracker-bot
2020-01-28  5:03   ` [GIT PULL] Crypto Update for 5.6 Herbert Xu
2020-01-29  0:30     ` pr-tracker-bot
2020-04-01  4:27     ` [GIT PULL] Crypto Update for 5.7 Herbert Xu
2020-04-01 22:35       ` pr-tracker-bot
2020-06-01  2:45       ` Herbert Xu [this message]
2020-06-01 19:35         ` [GIT PULL] Crypto Update for 5.8 pr-tracker-bot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200601024533.GA18937@gondor.apana.org.au \
    --to=herbert@gondor.apana.org.au \
    --cc=davem@davemloft.net \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

LKML Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/lkml/0 lkml/git/0.git
	git clone --mirror https://lore.kernel.org/lkml/1 lkml/git/1.git
	git clone --mirror https://lore.kernel.org/lkml/2 lkml/git/2.git
	git clone --mirror https://lore.kernel.org/lkml/3 lkml/git/3.git
	git clone --mirror https://lore.kernel.org/lkml/4 lkml/git/4.git
	git clone --mirror https://lore.kernel.org/lkml/5 lkml/git/5.git
	git clone --mirror https://lore.kernel.org/lkml/6 lkml/git/6.git
	git clone --mirror https://lore.kernel.org/lkml/7 lkml/git/7.git
	git clone --mirror https://lore.kernel.org/lkml/8 lkml/git/8.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 lkml lkml/ https://lore.kernel.org/lkml \
		linux-kernel@vger.kernel.org
	public-inbox-index lkml

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git