linux/crypto
Herbert Xu e057d64f86 crypto: api - Fix race condition in crypto_spawn_alg
commit 73669cc556 upstream.

The function crypto_spawn_alg is racy because it drops the lock
before shooting the dying algorithm.  The algorithm could disappear
altogether before we shoot it.

This patch fixes it by moving the shooting into the locked section.

Fixes: 6bfd48096f ("[CRYPTO] api: Added spawns")
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-02-11 04:35:31 -08:00
..
asymmetric_keys KEYS: asymmetric: return ENOMEM if akcipher_request_alloc() fails 2019-12-31 16:46:07 +01:00
async_tx
842.c
Kconfig crypto: aegis128/simd - build 32-bit ARM for v8 architecture explicitly 2019-12-31 16:43:57 +01:00
Makefile crypto: aegis128-neon - use Clang compatible cflags for ARM 2019-12-31 16:43:38 +01:00
ablkcipher.c
acompress.c
adiantum.c
aead.c
aegis.h
aegis128-core.c
aegis128-neon-inner.c
aegis128-neon.c
aes_generic.c
aes_ti.c
af_alg.c crypto: af_alg - Use bh_lock_sock in sk_destruct 2020-02-01 09:34:52 +00:00
ahash.c
akcipher.c
algapi.c crypto: api - Fix race condition in crypto_spawn_alg 2020-02-11 04:35:31 -08:00
algboss.c
algif_aead.c
algif_hash.c
algif_rng.c
algif_skcipher.c crypto: algif_skcipher - Use chunksize instead of blocksize 2020-01-17 19:48:46 +01:00
ansi_cprng.c
anubis.c
api.c crypto: api - Fix race condition in crypto_spawn_alg 2020-02-11 04:35:31 -08:00
arc4.c
authenc.c
authencesn.c
blkcipher.c
blowfish_common.c
blowfish_generic.c
camellia_generic.c
cast5_generic.c
cast6_generic.c
cast_common.c
cbc.c
ccm.c
cfb.c
chacha20poly1305.c
chacha_generic.c
cipher.c
cmac.c
compress.c
crc32_generic.c
crc32c_generic.c
crct10dif_common.c
crct10dif_generic.c
cryptd.c
crypto_engine.c
crypto_null.c
crypto_user_base.c crypto: user - fix memory leak in crypto_report 2019-12-13 08:43:10 +01:00
crypto_user_stat.c crypto: user - fix memory leak in crypto_reportstat 2019-12-13 08:43:11 +01:00
ctr.c
cts.c
deflate.c
des_generic.c
dh.c
dh_helper.c
drbg.c
ecb.c
ecc.c crypto: ecdh - fix big endian bug in ECC library 2019-12-13 08:43:09 +01:00
ecc.h
ecc_curve_defs.h
ecdh.c
ecdh_helper.c
echainiv.c
ecrdsa.c
ecrdsa_defs.h
ecrdsa_params.asn1
ecrdsa_pub_key.asn1
essiv.c
fcrypt.c
fips.c
gcm.c
gf128mul.c
ghash-generic.c
hash_info.c
hmac.c
internal.h crypto: api - Fix race condition in crypto_spawn_alg 2020-02-11 04:35:31 -08:00
jitterentropy-kcapi.c
jitterentropy.c
keywrap.c
khazad.c
kpp.c
lrw.c
lz4.c
lz4hc.c
lzo-rle.c
lzo.c
md4.c
md5.c
memneq.c
michael_mic.c
nhpoly1305.c
ofb.c
pcbc.c
pcrypt.c crypto: pcrypt - Do not clear MAY_SLEEP flag in original request 2020-02-11 04:35:31 -08:00
poly1305_generic.c
proc.c
ripemd.h
rmd128.c
rmd160.c
rmd256.c
rmd320.c
rng.c
rsa-pkcs1pad.c
rsa.c
rsa_helper.c
rsaprivkey.asn1
rsapubkey.asn1
salsa20_generic.c
scatterwalk.c
scompress.c
seed.c
seqiv.c
serpent_generic.c
sha1_generic.c
sha3_generic.c
sha256_generic.c
sha512_generic.c
shash.c
simd.c
skcipher.c crypto: skcipher - Unmap pages after an external error 2019-09-09 17:35:27 +10:00
sm3_generic.c
sm4_generic.c
streebog_generic.c
tcrypt.c
tcrypt.h
tea.c
testmgr.c
testmgr.h
tgr192.c
twofish_common.c
twofish_generic.c
vmac.c
wp512.c
xcbc.c
xor.c
xts.c
xxhash_generic.c
zstd.c