linux-stable/include/crypto
Herbert Xu 867a146690 crypto: api - Use work queue in crypto_destroy_instance
[ Upstream commit 9ae4577bc0 ]

The function crypto_drop_spawn expects to be called in process
context.  However, when an instance is unregistered while it still
has active users, the last user may cause the instance to be freed
in atomic context.

Fix this by delaying the freeing to a work queue.

Fixes: 6bfd48096f ("[CRYPTO] api: Added spawns")
Reported-by: Florent Revest <revest@chromium.org>
Reported-by: syzbot+d769eed29cc42d75e2a3@syzkaller.appspotmail.com
Reported-by: syzbot+610ec0671f51e838436e@syzkaller.appspotmail.com
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Tested-by: Florent Revest <revest@chromium.org>
Acked-by: Florent Revest <revest@chromium.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-09-13 09:48:03 +02:00
..
internal crypto: hash - Add crypto_clone_ahash/shash 2023-04-20 18:20:04 +08:00
acompress.h crypto: acomp - Count error stats differently 2023-03-14 17:06:42 +08:00
aead.h crypto: aead - Count error stats differently 2023-03-14 17:06:41 +08:00
aes.h crypto: aes - helper function to validate key length for AES algorithms 2019-08-09 15:11:43 +10:00
akcipher.h crypto: akcipher - Count error stats differently 2023-03-14 17:06:41 +08:00
algapi.h crypto: api - Use work queue in crypto_destroy_instance 2023-09-13 09:48:03 +02:00
arc4.h crypto: arc4 - refactor arc4 core code into separate library 2019-06-20 14:18:33 +08:00
aria.h crypto: Prepare to move crypto_tfm_ctx 2022-12-02 18:12:40 +08:00
authenc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
b128ops.h
blake2b.h crypto: api - Replace kernel.h with the necessary inclusions 2021-12-17 16:59:48 +11:00
blake2s.h lib/crypto: blake2s: move hmac construction into wireguard 2022-01-18 13:03:55 +01:00
blowfish.h
cast5.h
cast6.h crypto: remove CRYPTO_TFM_RES_BAD_KEY_LEN 2020-01-09 11:30:53 +08:00
cast_common.h
chacha.h random: early initialization of ChaCha constants 2022-01-07 00:25:25 +01:00
chacha20poly1305.h crypto: lib/chacha20poly1305 - Add missing function declaration 2020-07-16 21:49:04 +10:00
cryptd.h crypto: api - Replace kernel.h with the necessary inclusions 2021-12-17 16:59:48 +11:00
ctr.h crypto: ctr - add helper for performing a CTR encryption walk 2019-07-26 14:56:07 +10:00
curve25519.h crypto: lib/curve25519 - Move selftest prototype into header file 2020-11-20 14:45:33 +11:00
des.h crypto: des - remove now unused __des3_ede_setkey() 2019-08-22 14:57:33 +10:00
dh.h crypto: dh - split out deserialization code from crypto_dh_decode() 2022-03-03 10:47:50 +12:00
drbg.h crypto: drbg - reseed 'nopr' drbgs periodically from get_random_bytes() 2021-11-26 16:16:50 +11:00
ecc_curve.h crypto: ecc - add curve25519 params and expose them 2021-03-13 00:04:04 +11:00
ecdh.h Merge branch 'ecc' 2021-03-26 19:55:55 +11:00
engine.h crypto: api - Replace kernel.h with the necessary inclusions 2021-12-17 16:59:48 +11:00
gcm.h crypto: lib/aesgcm - Provide minimal library implementation 2022-11-11 18:14:59 +08:00
gf128mul.h mm, treewide: rename kzfree() to kfree_sensitive() 2020-08-07 11:33:22 -07:00
ghash.h crypto: ghash - add comment and improve help text 2019-07-27 21:08:38 +10:00
hash.h crypto: hash - Add crypto_clone_ahash/shash 2023-04-20 18:20:04 +08:00
hash_info.h crypto: sha - split sha.h into sha1.h and sha2.h 2020-11-20 14:45:33 +11:00
hmac.h
if_alg.h crypto: api - Use data directly in completion function 2023-02-13 18:35:14 +08:00
kdf_sp800108.h crypto: kdf - add SP800-108 counter key derivation function 2021-11-26 16:25:17 +11:00
kpp.h crypto: kpp - Count error stats differently 2023-03-14 17:06:42 +08:00
md5.h
nhpoly1305.h crypto: poly1305 - add new 32 and 64-bit generic versions 2020-01-16 15:18:12 +08:00
null.h crypto: null - Remove VLA usage of skcipher 2018-09-28 12:46:08 +08:00
padlock.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
pcrypt.h crypto: api - Replace kernel.h with the necessary inclusions 2021-12-17 16:59:48 +11:00
pkcs7.h PKCS#7: Introduce pkcs7_get_digest() 2019-08-05 18:40:19 -04:00
poly1305.h crypto: poly1305 - fix poly1305_core_setkey() declaration 2021-04-02 18:28:12 +11:00
polyval.h crypto: x86/polyval - Add PCLMULQDQ accelerated implementation of POLYVAL 2022-06-10 16:40:17 +08:00
public_key.h KEYS: CA link restriction 2023-04-24 16:15:53 +03:00
rng.h crypto: rng - Count error stats differently 2023-03-14 17:06:42 +08:00
scatterwalk.h crypto: scatterwalk - use kmap_local() not kmap_atomic() 2022-12-30 22:56:27 +08:00
serpent.h crypto: x86 - Regularize glue function prototypes 2019-12-11 16:36:54 +08:00
sha1.h crypto: sha - split sha.h into sha1.h and sha2.h 2020-11-20 14:45:33 +11:00
sha1_base.h crypto: sha - split sha.h into sha1.h and sha2.h 2020-11-20 14:45:33 +11:00
sha2.h crypto: sha - split sha.h into sha1.h and sha2.h 2020-11-20 14:45:33 +11:00
sha3.h crypto: sha3-generic - export init/update/final routines 2018-01-26 01:10:34 +11:00
sha256_base.h crypto: sha - split sha.h into sha1.h and sha2.h 2020-11-20 14:45:33 +11:00
sha512_base.h crypto: sha - split sha.h into sha1.h and sha2.h 2020-11-20 14:45:33 +11:00
skcipher.h crypto: skcipher - Count error stats differently 2023-03-14 17:06:42 +08:00
sm2.h crypto: sm2 - introduce OSCCA SM2 asymmetric cipher algorithm 2020-09-25 17:48:54 +10:00
sm3.h crypto: sm3 - make dependent on sm3 library 2022-01-28 16:51:11 +11:00
sm3_base.h crypto: hash - Use memzero_explicit() for clearing state 2020-10-30 17:35:03 +11:00
sm4.h crypto: sm4 - export sm4 constant arrays 2022-04-08 16:12:46 +08:00
streebog.h crypto: streebog - fix unaligned memory accesses 2019-04-08 14:42:55 +08:00
twofish.h crypto: remove CRYPTO_TFM_RES_BAD_KEY_LEN 2020-01-09 11:30:53 +08:00
utils.h crypto: lib/utils - Move utilities into new header 2023-03-31 17:50:09 +08:00
xts.h crypto: xts - drop xts_check_key() 2023-01-06 17:15:47 +08:00