Kees Cook
892b1f54ca
UPSTREAM: crypto: skcipher - Introduce crypto_sync_skcipher
...
In preparation for removal of VLAs due to skcipher requests on the stack
via SKCIPHER_REQUEST_ON_STACK() usage, this introduces the infrastructure
for the "sync skcipher" tfm, which is for handling the on-stack cases of
skcipher, which are always non-ASYNC and have a known limited request
size.
The crypto API additions:
struct crypto_sync_skcipher (wrapper for struct crypto_skcipher)
crypto_alloc_sync_skcipher()
crypto_free_sync_skcipher()
crypto_sync_skcipher_setkey()
crypto_sync_skcipher_get_flags()
crypto_sync_skcipher_set_flags()
crypto_sync_skcipher_clear_flags()
crypto_sync_skcipher_blocksize()
crypto_sync_skcipher_ivsize()
crypto_sync_skcipher_reqtfm()
skcipher_request_set_sync_tfm()
SYNC_SKCIPHER_REQUEST_ON_STACK() (with tfm type check)
Signed-off-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Bug: 150811495
Test: make
Change-Id: I5d002a7af64509a293cd4d685b97d2cd2c4d10e1
(cherry picked from commit b350bee5ea0f4db75d4c6191a2e95db16f40c278)
Signed-off-by: Hridya Valsaraju <hridya@google.com>
2020-03-12 10:46:18 -07:00
..
internal
crypto: simd - allow registering multiple algorithms at once
2018-03-03 00:03:17 +08:00
acompress.h
crypto: acomp - add driver-side scomp interface
2016-10-25 11:08:31 +08:00
aead.h
crypto: aead - prevent using AEADs without setting key
2018-01-12 23:03:39 +11:00
aes.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
akcipher.h
crypto: akcipher - assume key is already set in maxsize
2017-06-10 12:04:29 +08:00
algapi.h
crypto: api - laying defines and checks for statically allocated buffers
2018-04-21 00:58:32 +08:00
authenc.h
crypto: authenc - Export key parsing helper function
2013-10-16 20:56:25 +08:00
b128ops.h
[CRYPTO] lib: some common 128-bit block operations, nicely centralized
2006-12-06 18:38:55 -08:00
blowfish.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
cast5.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
cast6.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
cast_common.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
cbc.h
crypto: cbc - Export CBC implementation
2016-11-28 21:23:21 +08:00
chacha.h
FROMGIT: crypto: chacha - add XChaCha12 support
2018-12-05 09:48:14 -08:00
cryptd.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
crypto_wq.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
ctr.h
[CRYPTO] ctr: Refactor into ctr and rfc3686
2008-01-11 08:16:41 +11:00
des.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
dh.h
crypto: dh - add public key verification test
2018-07-09 00:26:22 +08:00
drbg.h
crypto: drbg - in-place cipher operation for CTR
2018-08-03 18:05:48 +08:00
ecdh.h
crypto: ecdh - return unsigned value for crypto_ecdh_key_len()
2017-10-12 22:55:00 +08:00
engine.h
crypto: engine - Permit to enqueue all async requests
2018-02-15 23:26:50 +08:00
gcm.h
crypto: gcm - add GCM IV size constant
2017-09-22 17:43:08 +08:00
gf128mul.h
crypto: gf128mul - The x8_ble multiplication functions
2017-11-03 21:50:43 +08:00
ghash.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
hash.h
crypto: hash - Prevent use of req->result in ahash update
2018-03-16 23:35:52 +08:00
hash_info.h
keys, trusted: select hash algorithm for TPM2 chips
2015-12-20 15:27:12 +02:00
hmac.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
if_alg.h
Revert changes to convert to ->poll_mask() and aio IOCB_CMD_POLL
2018-06-28 10:40:47 -07:00
kpp.h
crypto: kpp - add get/set_flags helpers
2017-07-18 17:50:57 +08:00
mcryptd.h
crypto: mcryptd - protect the per-CPU queue with a lock
2017-12-11 22:29:54 +11:00
md5.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
morus640_glue.h
crypto: morus - Add common SIMD glue code for MORUS
2018-05-19 00:15:18 +08:00
morus1280_glue.h
crypto: morus - Add common SIMD glue code for MORUS
2018-05-19 00:15:18 +08:00
morus_common.h
crypto: morus - Add generic MORUS AEAD implementations
2018-05-19 00:15:00 +08:00
nhpoly1305.h
FROMGIT: crypto: nhpoly1305 - add NHPoly1305 support
2018-12-05 09:48:15 -08:00
null.h
crypto: null - Get rid of crypto_{get,put}_default_null_skcipher2()
2017-12-22 19:29:08 +11:00
padlock.h
crypto: padlock - Move padlock.h into include/crypto
2011-01-07 14:52:00 +11:00
pcrypt.h
crypto: pcrypt - Add pcrypt crypto parallelization wrapper
2010-01-07 15:57:19 +11:00
pkcs7.h
PKCS#7: Make trust determination dependent on contents of trust keyring
2016-04-06 16:14:24 +01:00
poly1305.h
FROMGIT: crypto: poly1305 - add Poly1305 core API
2018-12-05 09:48:15 -08:00
public_key.h
KEYS: Keyring asymmetric key restrict method with chaining
2017-04-04 14:10:13 -07:00
rng.h
crypto: doc - Fix typo in crypto-API.xml
2015-06-04 15:05:08 +08:00
scatterwalk.h
crypto: scatterwalk - remove scatterwalk_samebuf()
2018-08-03 18:06:04 +08:00
serpent.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
sha.h
crypto: sha512_generic - add a sha384 0-length pre-computed hash
2018-06-22 23:03:05 +08:00
sha1_base.h
crypto: sha1 - implement base layer for SHA-1
2015-04-10 21:39:39 +08:00
sha3.h
crypto: sha3-generic - export init/update/final routines
2018-01-26 01:10:34 +11:00
sha256_base.h
crypto: sha256 - implement base layer for SHA-256
2015-04-10 21:39:39 +08:00
sha512_base.h
crypto: sha512 - implement base layer for SHA-512
2015-04-10 21:39:39 +08:00
skcipher.h
UPSTREAM: crypto: skcipher - Introduce crypto_sync_skcipher
2020-03-12 10:46:18 -07:00
sm3.h
crypto: sm3 - add OSCCA SM3 secure hash
2017-09-22 17:43:07 +08:00
sm3_base.h
crypto: sm3 - add OSCCA SM3 secure hash
2017-09-22 17:43:07 +08:00
sm4.h
crypto: sm4 - export encrypt/decrypt routines to other drivers
2018-05-05 14:52:51 +08:00
twofish.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
xts.h
crypto: xts - remove xts_crypt()
2018-03-03 00:03:33 +08:00