linux-stable/crypto
Herbert Xu 9c094deb6b crypto: api - Redo lookup on EEXIST
[ Upstream commit 0a3cf32da4 ]

When two crypto algorithm lookups occur at the same time with
different names for the same algorithm, e.g., ctr(aes-generic)
and ctr(aes), they will both be instantiated.  However, only one
of them can be registered.  The second instantiation will fail
with EEXIST.

Avoid failing the second lookup by making it retry, but only once
because there are tricky names such as gcm_base(ctr(aes),ghash)
that will always fail, despite triggering instantiation and EEXIST.

Reported-by: Ingo Franzki <ifranzki@linux.ibm.com>
Fixes: 2825982d9d ("[CRYPTO] api: Added event notification")
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-06-19 15:31:30 +02:00
..
asymmetric_keys
async_tx
842.c
acompress.c
adiantum.c
aead.c
aegis128-core.c
aegis128-neon-inner.c
aegis128-neon.c
aegis-neon.h
aegis.h
aes_generic.c
aes_ti.c
af_alg.c
ahash.c crypto: ahash - Set default reqsize from ahash_alg 2025-05-29 11:02:40 +02:00
akcipher.c
algapi.c
algboss.c
algif_aead.c
algif_hash.c crypto: algif_hash - fix double free in hash_accept 2025-05-29 11:03:18 +02:00
algif_rng.c
algif_skcipher.c
ansi_cprng.c
anubis.c
api.c crypto: api - Redo lookup on EEXIST 2025-06-19 15:31:30 +02:00
arc4.c
aria_generic.c
authenc.c
authencesn.c
blake2b_generic.c
blowfish_common.c
blowfish_generic.c
bpf_crypto_skcipher.c
camellia_generic.c
cast5_generic.c
cast6_generic.c
cast_common.c
cbc.c
ccm.c
chacha20poly1305.c
chacha_generic.c
cipher.c
cmac.c
compress.c
compress.h
crc32_generic.c
crc32c_generic.c
crc64_rocksoft_generic.c
crct10dif_common.c
crct10dif_generic.c
cryptd.c
crypto_engine.c
crypto_null.c
crypto_user.c
ctr.c
cts.c
curve25519-generic.c
deflate.c
des_generic.c
dh_helper.c
dh.c
drbg.c
ecb.c
ecc_curve_defs.h
ecc.c
ecdh_helper.c
ecdh.c
ecdsa.c
ecdsasignature.asn1
echainiv.c
ecrdsa_defs.h
ecrdsa_params.asn1
ecrdsa_pub_key.asn1
ecrdsa.c
essiv.c
fcrypt.c
fips.c
gcm.c
geniv.c
ghash-generic.c
hash_info.c
hash.h
hctr2.c
hmac.c
internal.h
jitterentropy-kcapi.c
jitterentropy-testing.c
jitterentropy.c
jitterentropy.h
Kconfig crypto: Kconfig - Select LIB generic option 2025-05-02 07:59:33 +02:00
kdf_sp800108.c
keywrap.c
khazad.c
kpp.c
lrw.c crypto: lrw - Only add ecb if it is not already there 2025-06-19 15:31:30 +02:00
lskcipher.c
lz4.c
lz4hc.c
lzo-rle.c crypto: lzo - Fix compression buffer overrun 2025-05-29 11:02:25 +02:00
lzo.c crypto: lzo - Fix compression buffer overrun 2025-05-29 11:02:25 +02:00
Makefile
md4.c
md5.c
michael_mic.c
nhpoly1305.c
pcbc.c
pcrypt.c
poly1305_generic.c
polyval-generic.c
proc.c
ripemd.h
rmd160.c
rng.c
rsa_helper.c
rsa-pkcs1pad.c
rsa.c
rsaprivkey.asn1
rsapubkey.asn1
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
sig.c
simd.c
skcipher.c crypto: skcipher - Zap type in crypto_alloc_sync_skcipher 2025-05-29 11:02:40 +02:00
skcipher.h
sm3_generic.c
sm3.c
sm4_generic.c
sm4.c
streebog_generic.c
tcrypt.c
tcrypt.h
tea.c
testmgr.c
testmgr.h
twofish_common.c
twofish_generic.c
vmac.c
wp512.c
xcbc.c
xctr.c
xor.c
xts.c crypto: xts - Only add ecb if it is not already there 2025-06-19 15:31:30 +02:00
xxhash_generic.c
zstd.c