Crypto Update for 4.20

From: Herbert Xu
Date: Tue Oct 23 2018 - 06:10:11 EST


Hi Linus:

Here is the crypto update for 4.20:

API:

- Remove VLA usage.
- Add cryptostat user-space interface.
- Add notifier for new crypto algorithms.

Algorithms:

- Add OFB mode.
- Remove speck.

Drivers:

- Remove x86/sha*-mb as they are buggy.
- Remove pcbc(aes) from x86/aesni.
- Improve performance of arm/ghash-ce by up to 85%.
- Implement CTS-CBC in arm64/aes-blk, faster by up to 50%.
- Remove PMULL based arm64/crc32 driver.
- Use PMULL in arm64/crct10dif.
- Add aes-ctr support in s5p-sss.
- Add caam/qi2 driver.

Others:

- Pick better transform if one becomes available in crc-t10dif.

Please note that there is a conflict with the compiler-attributes
tree as one of the lines that was removed by a patch in the crypto
tree was moved to a different file in the compiler-attributes tree.
The fix is to remove that line from the moved file.

There is also a conflict with the mac80211 tree because the code
modified by the VLA fixes in the crypto tree has been removed in
the mac80211 tree. The resolution is to simply use the mac80211
file.


Please pull from

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


Ard Biesheuvel (17):
crypto: ccm - Remove VLA usage
crypto: x86 - remove SHA multibuffer routines and mcryptd
crypto: arm/ghash-ce - implement support for 4-way aggregation
crypto: arm64/aes-modes - get rid of literal load of addend vector
crypto: arm64/crc32 - remove PMULL based CRC32 driver
crypto: arm64/crct10dif - preparatory refactor for 8x8 PMULL version
crypto: arm64/crct10dif - implement non-Crypto Extensions alternative
crypto: arm64/aes-blk - remove pointless (u8 *) casts
crypto: arm64/aes-blk - revert NEON yield for skciphers
crypto: arm64/aes-blk - add support for CTS-CBC mode
crypto: arm64/aes-blk - improve XTS mask handling
crypto: x86/aes-ni - remove special handling of AES in PCBC mode
crypto: qat - move temp buffers off the stack
crypto: lrw - fix rebase error after out of bounds fix
crypto: morus/generic - fix for big endian systems
crypto: aegis/generic - fix for big endian systems
crypto: arm64/aes-blk - ensure XTS mask is always loaded

Arnd Bergmann (2):
crypto: caam/qi2 - add CONFIG_NETDEVICES dependency
crypto: caam/qi2 - avoid double export

Brijesh Singh (1):
crypto: ccp - add timeout support in the SEV command

Christoph Manszewski (4):
crypto: s5p-sss: Fix race in error handling
crypto: s5p-sss: Fix Fix argument list alignment
crypto: s5p-sss: Minor code cleanup
crypto: s5p-sss: Add aes-ctr support

Corentin Labbe (2):
crypto: user - Implement a generic crypto statistics
crypto: tools - Add cryptostat userspace

Dan Aloni (1):
crypto: fix a memory leak in rsa-kcs1pad's encryption mode

Dan Douglass (1):
crypto: mxs-dcp - Implement sha import/export

Eric Biggers (4):
crypto: arm/chacha20 - faster 8-bit rotations and other optimizations
crypto: chacha20 - Fix chacha20_block() keystream alignment (again)
crypto: arm64/aes - fix handling sub-block CTS-CBC inputs
crypto: x86/aes-ni - fix build error following fpu template removal

Gilad Ben-Yossef (3):
crypto: testmgr - update sm4 test vectors
crypto: ofb - add output feedback mode
crypto: tcrypt - add OFB functional tests

Harsh Jain (1):
crypto: chelsio - Update ntx queue received from cxgb4

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

Horia GeantÄ (20):
crypto: caam/jr - remove ablkcipher IV generation
crypto: caam/qi - remove ablkcipher IV generation
crypto: caam/jr - ablkcipher -> skcipher conversion
crypto: caam/qi - ablkcipher -> skcipher conversion
bus: fsl-mc: add support for dpseci device type
soc: fsl: dpio: add back some frame queue functions
soc: fsl: dpio: add frame list format support
soc: fsl: dpio: add congestion notification support
crypto: caam - fix implicit casts in endianness helpers
crypto: caam - add DPAA2-CAAM (DPSECI) backend API
crypto: caam - add Queue Interface v2 error codes
crypto: caam/qi2 - add DPAA2-CAAM driver
crypto: caam/qi2 - add skcipher algorithms
crypto: caam - export ahash shared descriptor generation
crypto: caam/qi2 - add support for ahash algorithms
arm64: defconfig: enable CAAM crypto engine on QorIQ DPAA2 SoCs
crypto: tcrypt - fix ghash-generic speed test
crypto: tcrypt - remove remnants of pcomp-based zlib
crypto: caam/qi - simplify CGR allocation, freeing
crypto: caam - add SPDX license identifier to all files

Janakarajan Natarajan (2):
crypto: ccp - Fix static checker warning
crypto: ccp - Allow SEV firmware to be chosen based on Family and Model

Jason A. Donenfeld (1):
crypto: speck - remove Speck

Kees Cook (30):
crypto: xcbc - Remove VLA usage
crypto: cbc - Remove VLA usage
crypto: hash - Remove VLA usage
crypto: api - Introduce generic max blocksize and alignmask
crypto: qat - Remove VLA usage
crypto: shash - Remove VLA usage in unaligned hashing
dm: Remove VLA usage from hashes
crypto: skcipher - Introduce crypto_sync_skcipher
gss_krb5: Remove VLA usage of skcipher
lib80211: Remove VLA usage of skcipher
mac802154: Remove VLA usage of skcipher
s390/crypto: Remove VLA usage of skcipher
x86/fpu: Remove VLA usage of skcipher
block: cryptoloop: Remove VLA usage of skcipher
libceph: Remove VLA usage of skcipher
ppp: mppe: Remove VLA usage of skcipher
rxrpc: Remove VLA usage of skcipher
wusb: Remove VLA usage of skcipher
crypto: ccp - Remove VLA usage of skcipher
crypto: vmx - Remove VLA usage of skcipher
crypto: null - Remove VLA usage of skcipher
crypto: cryptd - Remove VLA usage of skcipher
crypto: sahara - Remove VLA usage of skcipher
crypto: qce - Remove VLA usage of skcipher
crypto: artpec6 - Remove VLA usage of skcipher
crypto: chelsio - Remove VLA usage of skcipher
crypto: mxs-dcp - Remove VLA usage of skcipher
crypto: omap-aes - Remove VLA usage of skcipher
crypto: picoxcell - Remove VLA usage of skcipher
crypto: skcipher - Remove SKCIPHER_REQUEST_ON_STACK()

Martin K. Petersen (3):
crypto: api - Introduce notifier for new crypto algorithms
crc-t10dif: Pick better transform if one becomes available
crc-t10dif: Allow current transform to be inspected in sysfs

Michael S. Tsirkin (1):
hwrng: core - document the quality field

Michael Schupikov (1):
crypto: testmgr - fix sizeof() on COMP_BUF_SIZE

Mikulas Patocka (1):
crypto: aesni - don't use GFP_ATOMIC allocation if the request doesn't cross a page in gcm

Nathan Chancellor (2):
crypto: ccp - Remove forward declaration
crypto: ccree - avoid implicit enum conversion

Ondrej Mosnacek (5):
crypto: xts - Drop use of auxiliary buffer
crypto: lrw - Fix out-of bounds access on counter overflow
crypto: testmgr - Add test for LRW counter wrap-around
crypto: lrw - Optimize tweak computation
crypto: lrw - Do not use auxiliary buffer

Radu Solea (2):
crypto: mxs-dcp - Fix SHA null hashes and output length
crypto: mxs-dcp - Fix AES issues

Srikanth Jampala (9):
crypto: cavium/nitrox - Added support for SR-IOV configuration.
crypto: cavium/nitrox - use dma_pool_zalloc()
crypto: cavium/nitrox - added support to identify the NITROX device partname.
crypto: cavium/nitrox - add support for per device request statistics.
crypto: cavium/nitrox - updated debugfs information.
crypto: cavium/nitrox - fix warnings while printing atomic64_t types
crypto: cavium/nitrox - use pcie_flr instead of duplicating it
crypto: cavium/nitrox - NITROX command queue changes.
crypto: cavium/nitrox - use pci_alloc_irq_vectors() while enabling MSI-X.

Stefan Agner (2):
cpufeature: avoid warning when compiling with clang
crypto: arm/crc32 - avoid warning when compiling with Clang

Tudor Ambarus (1):
crypto: atmel - switch to SPDX license identifiers

Valdis Kletnieks (1):
crypto/morus(640,1280) - make crypto_...-algs static

Wei Yongjun (2):
crypto: ccp - Make function sev_get_firmware() static
crypto: mxs-dcp - make symbols 'sha1_null_hash' and 'sha256_null_hash' static

YueHaibing (2):
crypto: axis - fix platform_no_drv_owner.cocci warnings
crypto: chtls - remove set but not used variable 'csk'

kbuild test robot (1):
crc-t10dif: crc_t10dif_mutex can be static

zhong jiang (2):
crypto: chtls - remove redundant null pointer check before kfree_skb
crypto: cavium - remove redundant null pointer check before kfree

Documentation/filesystems/fscrypt.rst | 10 -
MAINTAINERS | 8 -
arch/arm/crypto/Kconfig | 7 +-
arch/arm/crypto/Makefile | 2 -
arch/arm/crypto/chacha20-neon-core.S | 277 +-
arch/arm/crypto/crc32-ce-glue.c | 2 +-
arch/arm/crypto/ghash-ce-core.S | 108 +-
arch/arm/crypto/ghash-ce-glue.c | 38 +-
arch/arm/crypto/speck-neon-core.S | 434 --
arch/arm/crypto/speck-neon-glue.c | 288 --
arch/arm64/configs/defconfig | 2 +-
arch/arm64/crypto/Kconfig | 11 -
arch/arm64/crypto/Makefile | 6 -
arch/arm64/crypto/aes-ce.S | 5 +
arch/arm64/crypto/aes-glue.c | 217 +-
arch/arm64/crypto/aes-modes.S | 416 +-
arch/arm64/crypto/aes-neon.S | 6 +
arch/arm64/crypto/crc32-ce-core.S | 287 --
arch/arm64/crypto/crc32-ce-glue.c | 244 -
arch/arm64/crypto/crct10dif-ce-core.S | 314 +-
arch/arm64/crypto/crct10dif-ce-glue.c | 14 +-
arch/arm64/crypto/speck-neon-core.S | 352 --
arch/arm64/crypto/speck-neon-glue.c | 282 --
arch/m68k/configs/amiga_defconfig | 2 -
arch/m68k/configs/apollo_defconfig | 2 -
arch/m68k/configs/atari_defconfig | 2 -
arch/m68k/configs/bvme6000_defconfig | 2 -
arch/m68k/configs/hp300_defconfig | 2 -
arch/m68k/configs/mac_defconfig | 2 -
arch/m68k/configs/multi_defconfig | 2 -
arch/m68k/configs/mvme147_defconfig | 2 -
arch/m68k/configs/mvme16x_defconfig | 2 -
arch/m68k/configs/q40_defconfig | 2 -
arch/m68k/configs/sun3_defconfig | 2 -
arch/m68k/configs/sun3x_defconfig | 2 -
arch/s390/configs/debug_defconfig | 1 -
arch/s390/configs/performance_defconfig | 1 -
arch/s390/crypto/aes_s390.c | 48 +-
arch/s390/defconfig | 1 -
arch/x86/crypto/Makefile | 5 +-
arch/x86/crypto/aesni-intel_glue.c | 47 +-
arch/x86/crypto/fpu.c | 207 -
arch/x86/crypto/sha1-mb/Makefile | 14 -
arch/x86/crypto/sha1-mb/sha1_mb.c | 1011 ----
arch/x86/crypto/sha1-mb/sha1_mb_ctx.h | 134 -
arch/x86/crypto/sha1-mb/sha1_mb_mgr.h | 110 -
arch/x86/crypto/sha1-mb/sha1_mb_mgr_datastruct.S | 287 --
arch/x86/crypto/sha1-mb/sha1_mb_mgr_flush_avx2.S | 304 --
arch/x86/crypto/sha1-mb/sha1_mb_mgr_init_avx2.c | 64 -
arch/x86/crypto/sha1-mb/sha1_mb_mgr_submit_avx2.S | 209 -
arch/x86/crypto/sha1-mb/sha1_x8_avx2.S | 492 --
arch/x86/crypto/sha256-mb/Makefile | 14 -
arch/x86/crypto/sha256-mb/sha256_mb.c | 1013 ----
arch/x86/crypto/sha256-mb/sha256_mb_ctx.h | 134 -
arch/x86/crypto/sha256-mb/sha256_mb_mgr.h | 108 -
.../crypto/sha256-mb/sha256_mb_mgr_datastruct.S | 304 --
.../crypto/sha256-mb/sha256_mb_mgr_flush_avx2.S | 307 --
.../x86/crypto/sha256-mb/sha256_mb_mgr_init_avx2.c | 65 -
.../crypto/sha256-mb/sha256_mb_mgr_submit_avx2.S | 214 -
arch/x86/crypto/sha256-mb/sha256_x8_avx2.S | 598 ---
arch/x86/crypto/sha512-mb/Makefile | 12 -
arch/x86/crypto/sha512-mb/sha512_mb.c | 1047 ----
arch/x86/crypto/sha512-mb/sha512_mb_ctx.h | 128 -
arch/x86/crypto/sha512-mb/sha512_mb_mgr.h | 104 -
.../crypto/sha512-mb/sha512_mb_mgr_datastruct.S | 281 --
.../crypto/sha512-mb/sha512_mb_mgr_flush_avx2.S | 297 --
.../x86/crypto/sha512-mb/sha512_mb_mgr_init_avx2.c | 69 -
.../crypto/sha512-mb/sha512_mb_mgr_submit_avx2.S | 224 -
arch/x86/crypto/sha512-mb/sha512_x4_avx2.S | 531 --
crypto/Kconfig | 101 +-
crypto/Makefile | 4 +-
crypto/aegis.h | 20 +-
crypto/ahash.c | 25 +-
crypto/algapi.c | 17 +-
crypto/algboss.c | 2 +
crypto/algif_aead.c | 12 +-
crypto/algif_hash.c | 2 +-
crypto/authenc.c | 8 +-
crypto/authencesn.c | 8 +-
crypto/ccm.c | 9 +-
crypto/chacha20_generic.c | 7 +-
crypto/cryptd.c | 32 +-
crypto/crypto_null.c | 11 +-
crypto/{crypto_user.c => crypto_user_base.c} | 9 +-
crypto/crypto_user_stat.c | 463 ++
crypto/echainiv.c | 4 +-
crypto/gcm.c | 8 +-
crypto/internal.h | 8 -
crypto/lrw.c | 339 +-
crypto/mcryptd.c | 675 ---
crypto/morus1280.c | 7 +-
crypto/morus640.c | 16 +-
crypto/ofb.c | 225 +
crypto/rng.c | 1 +
crypto/rsa-pkcs1pad.c | 9 -
crypto/seqiv.c | 4 +-
crypto/shash.c | 33 +-
crypto/skcipher.c | 24 +
crypto/speck.c | 307 --
crypto/tcrypt.c | 27 +-
crypto/tcrypt.h | 1 +
crypto/testmgr.c | 42 +-
crypto/testmgr.h | 863 +---
crypto/xcbc.c | 8 +-
crypto/xts.c | 269 +-
drivers/block/cryptoloop.c | 22 +-
drivers/bus/fsl-mc/fsl-mc-bus.c | 5 +
drivers/char/hw_random/core.c | 4 +-
drivers/char/random.c | 24 +-
drivers/crypto/Makefile | 2 +-
drivers/crypto/atmel-aes.c | 5 +-
drivers/crypto/atmel-authenc.h | 13 +-
drivers/crypto/atmel-ecc.c | 11 +-
drivers/crypto/atmel-ecc.h | 14 +-
drivers/crypto/atmel-sha.c | 5 +-
drivers/crypto/atmel-tdes.c | 5 +-
drivers/crypto/axis/artpec6_crypto.c | 20 +-
drivers/crypto/caam/Kconfig | 57 +-
drivers/crypto/caam/Makefile | 10 +-
drivers/crypto/caam/caamalg.c | 728 +--
drivers/crypto/caam/caamalg_desc.c | 143 +-
drivers/crypto/caam/caamalg_desc.h | 28 +-
drivers/crypto/caam/caamalg_qi.c | 627 +--
drivers/crypto/caam/caamalg_qi2.c | 5165 ++++++++++++++++++++
drivers/crypto/caam/caamalg_qi2.h | 223 +
drivers/crypto/caam/caamhash.c | 80 +-
drivers/crypto/caam/caamhash_desc.c | 80 +
drivers/crypto/caam/caamhash_desc.h | 21 +
drivers/crypto/caam/caampkc.c | 1 +
drivers/crypto/caam/caamrng.c | 1 +
drivers/crypto/caam/compat.h | 2 +
drivers/crypto/caam/ctrl.c | 1 +
drivers/crypto/caam/dpseci.c | 426 ++
drivers/crypto/caam/dpseci.h | 333 ++
drivers/crypto/caam/dpseci_cmd.h | 149 +
drivers/crypto/caam/error.c | 79 +-
drivers/crypto/caam/error.h | 6 +-
drivers/crypto/caam/jr.c | 1 +
drivers/crypto/caam/qi.c | 43 +-
drivers/crypto/caam/qi.h | 3 +-
drivers/crypto/caam/regs.h | 30 +-
drivers/crypto/caam/sg_sw_qm.h | 29 +-
drivers/crypto/caam/sg_sw_qm2.h | 30 +-
drivers/crypto/cavium/cpt/cptvf_reqmanager.c | 20 +-
drivers/crypto/cavium/nitrox/Makefile | 3 +
drivers/crypto/cavium/nitrox/nitrox_common.h | 19 +-
drivers/crypto/cavium/nitrox/nitrox_csr.h | 111 +
drivers/crypto/cavium/nitrox/nitrox_debugfs.c | 115 +
drivers/crypto/cavium/nitrox/nitrox_dev.h | 162 +-
drivers/crypto/cavium/nitrox/nitrox_hal.c | 71 +-
drivers/crypto/cavium/nitrox/nitrox_hal.h | 23 +
drivers/crypto/cavium/nitrox/nitrox_isr.c | 337 +-
drivers/crypto/cavium/nitrox/nitrox_isr.h | 10 +
drivers/crypto/cavium/nitrox/nitrox_lib.c | 98 +-
drivers/crypto/cavium/nitrox/nitrox_main.c | 203 +-
drivers/crypto/cavium/nitrox/nitrox_reqmgr.c | 49 +-
drivers/crypto/cavium/nitrox/nitrox_sriov.c | 151 +
drivers/crypto/ccp/ccp-crypto-aes-xts.c | 13 +-
drivers/crypto/ccp/ccp-crypto.h | 2 +-
drivers/crypto/ccp/psp-dev.c | 47 +-
drivers/crypto/ccp/sp-platform.c | 53 +-
drivers/crypto/ccree/cc_hw_queue_defs.h | 6 +-
drivers/crypto/chelsio/chcr_algo.c | 30 +-
drivers/crypto/chelsio/chcr_core.c | 2 +-
drivers/crypto/chelsio/chcr_crypto.h | 2 +-
drivers/crypto/chelsio/chtls/chtls_cm.c | 7 +-
drivers/crypto/chelsio/chtls/chtls_main.c | 3 +-
drivers/crypto/mxs-dcp.c | 142 +-
drivers/crypto/omap-aes.c | 17 +-
drivers/crypto/omap-aes.h | 2 +-
drivers/crypto/picoxcell_crypto.c | 21 +-
drivers/crypto/qat/qat_common/qat_algs.c | 60 +-
drivers/crypto/qce/ablkcipher.c | 13 +-
drivers/crypto/qce/cipher.h | 2 +-
drivers/crypto/s5p-sss.c | 113 +-
drivers/crypto/sahara.c | 31 +-
drivers/crypto/vmx/aes_cbc.c | 22 +-
drivers/crypto/vmx/aes_ctr.c | 18 +-
drivers/crypto/vmx/aes_xts.c | 18 +-
drivers/md/dm-integrity.c | 23 +-
drivers/md/dm-verity-fec.c | 5 +-
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c | 20 +-
drivers/net/ppp/ppp_mppe.c | 27 +-
drivers/soc/fsl/dpio/dpio-service.c | 58 +
drivers/staging/rtl8192e/rtllib_crypt_tkip.c | 34 +-
drivers/staging/rtl8192e/rtllib_crypt_wep.c | 28 +-
.../rtl8192u/ieee80211/ieee80211_crypt_tkip.c | 34 +-
.../rtl8192u/ieee80211/ieee80211_crypt_wep.c | 26 +-
drivers/usb/wusbcore/crypto.c | 16 +-
fs/crypto/fscrypt_private.h | 4 -
fs/crypto/keyinfo.c | 10 -
include/crypto/acompress.h | 38 +-
include/crypto/aead.h | 51 +-
include/crypto/akcipher.h | 76 +-
include/crypto/algapi.h | 14 +-
include/crypto/cbc.h | 2 +-
include/crypto/chacha20.h | 3 +-
include/crypto/hash.h | 38 +-
include/crypto/internal/cryptouser.h | 8 +
include/crypto/internal/geniv.h | 2 +-
include/crypto/kpp.h | 51 +-
include/crypto/mcryptd.h | 114 -
include/crypto/morus1280_glue.h | 2 +-
include/crypto/morus640_glue.h | 2 +-
include/crypto/null.h | 2 +-
include/crypto/rng.h | 29 +-
include/crypto/skcipher.h | 118 +-
include/crypto/speck.h | 62 -
include/linux/compiler_types.h | 1 -
include/linux/cpufeature.h | 2 +-
include/linux/crc-t10dif.h | 1 +
include/linux/crypto.h | 110 +-
include/linux/fsl/mc.h | 6 +
include/linux/hw_random.h | 3 +-
include/linux/sunrpc/gss_krb5.h | 30 +-
include/soc/fsl/dpaa2-fd.h | 242 +
include/soc/fsl/dpaa2-global.h | 15 +
include/soc/fsl/dpaa2-io.h | 4 +
include/uapi/linux/cryptouser.h | 52 +
include/uapi/linux/fs.h | 4 +-
lib/chacha20.c | 6 +-
lib/crc-t10dif.c | 57 +-
net/ceph/crypto.c | 12 +-
net/ceph/crypto.h | 2 +-
net/mac802154/llsec.c | 16 +-
net/mac802154/llsec.h | 2 +-
net/rxrpc/ar-internal.h | 2 +-
net/rxrpc/rxkad.c | 44 +-
net/sunrpc/auth_gss/gss_krb5_crypto.c | 87 +-
net/sunrpc/auth_gss/gss_krb5_keys.c | 9 +-
net/sunrpc/auth_gss/gss_krb5_mech.c | 53 +-
net/sunrpc/auth_gss/gss_krb5_seqnum.c | 18 +-
net/sunrpc/auth_gss/gss_krb5_wrap.c | 20 +-
net/wireless/lib80211_crypt_tkip.c | 34 +-
net/wireless/lib80211_crypt_wep.c | 28 +-
tools/crypto/getstat.c | 294 ++
236 files changed, 11951 insertions(+), 15861 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