sst-linux/crypto
Herbert Xu f688979e42 crypto: api - Add crypto_clone_tfm
[ Upstream commit 3c3a24cb0ae46c9c45e4ce2272f84f0504831f59 ]

This patch adds the helper crypto_clone_tfm.  The purpose is to
allocate a tfm object with GFP_ATOMIC.  As we cannot sleep, the
object has to be cloned from an existing tfm object.

This allows code paths that cannot otherwise allocate a crypto_tfm
object to do so.  Once a new tfm has been obtained its key could
then be changed without impacting other users.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Stable-dep-of: 1465036b10be ("llc: Improve setsockopt() handling of malformed user input")
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-12-14 19:53:51 +01:00
..
asymmetric_keys KEYS: prevent NULL pointer dereference in find_asymmetric_key() 2024-10-17 15:21:17 +02:00
async_tx
842.c
acompress.c
adiantum.c
aead.c crypto: aead,cipher - zeroize key buffer after use 2024-07-11 12:47:05 +02:00
aegis128-core.c
aegis128-neon-inner.c
aegis128-neon.c crypto: aegis128 - Move simd prototypes into aegis.h 2021-03-19 21:59:45 +11:00
aegis.h
aes_generic.c
aes_ti.c crypto: aes - create AES library based on the fixed time AES code 2019-07-26 14:55:33 +10:00
af_alg.c crypto: af_alg - Disallow multiple in-flight AIO requests 2024-01-25 15:27:21 -08:00
ahash.c
akcipher.c
algapi.c crypto: api - Fix liveliness check in crypto_alg_tested 2024-11-17 15:07:20 +01:00
algboss.c exit: Rename module_put_and_exit to module_put_and_kthread_exit 2021-12-13 12:04:45 -06:00
algif_aead.c
algif_hash.c
algif_rng.c
algif_skcipher.c
ansi_cprng.c
anubis.c
api.c crypto: api - Add crypto_clone_tfm 2024-12-14 19:53:51 +01:00
arc4.c
aria_generic.c crypto: aria - prepare generic module for optimized implementations 2022-09-24 16:14:44 +08:00
authenc.c
authencesn.c crypto: algapi - use common mechanism for inheriting flags 2020-07-16 21:49:08 +10:00
blake2b_generic.c
blowfish_common.c
blowfish_generic.c
camellia_generic.c
cast5_generic.c
cast6_generic.c
cast_common.c
cbc.c
ccm.c crypto: remove cipher routines from public crypto API 2021-01-03 08:41:35 +11:00
cfb.c
chacha20poly1305.c
chacha_generic.c
cipher.c crypto: aead,cipher - zeroize key buffer after use 2024-07-11 12:47:05 +02:00
cmac.c
compress.c
crc32_generic.c
crc32c_generic.c
crc64_rocksoft_generic.c
crct10dif_common.c
crct10dif_generic.c
cryptd.c crypto: cryptd - Use request context instead of stack for sub-request 2022-12-31 13:32:33 +01:00
crypto_engine.c crypto: engine - fix crypto_queue backlog handling 2023-05-17 11:53:40 +02:00
crypto_null.c
crypto_user_base.c crypto: algapi - make unregistration functions return void 2019-12-20 14:58:35 +08:00
crypto_user_stat.c
ctr.c crypto: remove cipher routines from public crypto API 2021-01-03 08:41:35 +11:00
cts.c
curve25519-generic.c
deflate.c mm, treewide: rename kzfree() to kfree_sensitive() 2020-08-07 11:33:22 -07:00
des_generic.c
dh_helper.c crypto: dh - split out deserialization code from crypto_dh_decode() 2022-03-03 10:47:50 +12:00
dh.c crypto: add __init/__exit annotations to init/exit funcs 2022-09-24 16:14:43 +08:00
drbg.c crypto: drbg - Only fail when jent is unavailable in FIPS mode 2023-05-11 23:03:21 +09:00
ecb.c crypto: remove cipher routines from public crypto API 2021-01-03 08:41:35 +11:00
ecc_curve_defs.h
ecc.c
ecdh_helper.c
ecdh.c crypto: ecdh - explicitly zeroize private_key 2024-07-05 09:31:49 +02:00
ecdsa.c crypto: ecdsa - Fix module auto-load on add-key 2024-06-16 13:41:37 +02:00
ecdsasignature.asn1 crypto: ecdsa - Add support for ECDSA signature verification 2021-03-26 19:41:58 +11:00
echainiv.c crypto: geniv - remove unneeded arguments from aead_geniv_alloc() 2020-07-16 21:49:07 +10:00
ecrdsa_defs.h
ecrdsa_params.asn1
ecrdsa_pub_key.asn1
ecrdsa.c crypto: ecrdsa - Fix module auto-load on add_key 2024-06-16 13:41:37 +02:00
essiv.c crypto: essiv - Handle EBUSY correctly 2023-03-10 09:32:56 +01:00
fcrypt.c crypto: fcrypt - Remove 'do while(0)' loop for single statement macro 2021-04-02 18:28:13 +11:00
fips.c
gcm.c mm, treewide: rename kzfree() to kfree_sensitive() 2020-08-07 11:33:22 -07:00
geniv.c crypto: algapi - use common mechanism for inheriting flags 2020-07-16 21:49:08 +10:00
gf128mul.c
ghash-generic.c
hash_info.c
hctr2.c
hmac.c crypto: hmac - disallow keys < 112 bits in FIPS mode 2022-02-11 20:22:01 +11:00
internal.h crypto: api - Add crypto_clone_tfm 2024-12-14 19:53:51 +01:00
jitterentropy-kcapi.c crypto: jitter - permanent and intermittent health errors 2023-05-24 17:32:38 +01:00
jitterentropy.c crypto: jitter - correct health test during initialization 2023-07-19 16:21:42 +02:00
jitterentropy.h crypto: jitter - permanent and intermittent health errors 2023-05-24 17:32:38 +01:00
Kconfig crypto: jitter - fix CRYPTO_JITTERENTROPY help text 2024-03-26 18:20:50 -04:00
kdf_sp800108.c
keywrap.c
khazad.c
kpp.c
lrw.c crypto: lrw,xts - Replace strlcpy with strscpy 2023-09-23 11:11:01 +02:00
lz4.c
lz4hc.c
lzo-rle.c
lzo.c
Makefile
md4.c
md5.c
michael_mic.c crypto: michael_mic - fix broken misalignment handling 2021-02-10 17:55:55 +11:00
nhpoly1305.c crypto: poly1305 - add new 32 and 64-bit generic versions 2020-01-16 15:18:12 +08:00
ofb.c crypto: remove cipher routines from public crypto API 2021-01-03 08:41:35 +11:00
pcbc.c
pcrypt.c crypto: pcrypt - Call crypto layer directly when padata_do_parallel() return -EBUSY 2024-12-14 19:53:17 +01:00
poly1305_generic.c
polyval-generic.c crypto: x86/polyval - Add PCLMULQDQ accelerated implementation of POLYVAL 2022-06-10 16:40:17 +08:00
proc.c
ripemd.h
rmd160.c
rng.c
rsa_helper.c
rsa-pkcs1pad.c crypto: rsa-pkcs1pad - Use helper to set reqsize 2023-09-13 09:42:26 +02:00
rsa.c
rsaprivkey.asn1
rsapubkey.asn1 crypto: akcipher - Changes to asymmetric key API 2015-10-14 22:23:16 +08:00
scatterwalk.c
scompress.c crypto: scomp - fix req->dst buffer overflow 2024-01-25 15:27:23 -08:00
seed.c
seqiv.c crypto: seqiv - Handle EBUSY correctly 2023-03-10 09:32:56 +01:00
serpent_generic.c
sha1_generic.c
sha3_generic.c crypto: Replace HTTP links with HTTPS ones 2020-07-23 17:34:20 +10:00
sha256_generic.c
sha512_generic.c
shash.c crypto: add crypto_has_shash() 2022-08-02 17:14:47 -06:00
simd.c crypto: simd - Do not call crypto_alloc_tfm during registration 2024-10-17 15:21:39 +02:00
skcipher.c
sm2.c crypto: add __init/__exit annotations to init/exit funcs 2022-09-24 16:14:43 +08:00
sm2signature.asn1
sm3_generic.c crypto: sm3 - make dependent on sm3 library 2022-01-28 16:51:11 +11:00
sm3.c crypto: sm3,sm4 - move into crypto directory 2022-04-08 16:11:48 +08:00
sm4_generic.c crypto: arm64/sm4-ce - Make dependent on sm4 library instead of sm4-generic 2021-07-30 10:58:30 +08:00
sm4.c
streebog_generic.c
tcrypt.c
tcrypt.h
tea.c
testmgr.c crypto: testmgr - fix RNG performance in fuzz tests 2023-05-24 17:32:53 +01:00
testmgr.h
twofish_common.c
twofish_generic.c crypto: twofish - use unaligned accessors instead of alignmask 2021-02-10 17:55:57 +11:00
vmac.c
wp512.c
xcbc.c
xctr.c
xor.c crypto: xor - fix template benchmarking 2024-10-17 15:20:36 +02:00
xts.c crypto: lrw,xts - Replace strlcpy with strscpy 2023-09-23 11:11:01 +02:00
xxhash_generic.c
zstd.c