openssl/include/crypto
Pauli 64954e2f34 Fix race condition & allow operation cache to grow.
This fixes a race condition where the index to the cache location was found
under a read lock and a later write lock set the cache entry.  The issue being
that two threads could get the same location index and then fight each other
over writing the cache entry.  The most likely outcome is a memory leak,
however it would be possible to set up an invalid cache entry.

The operation cache was a fixed sized array, once full an assertion failed.
The other fix here is to convert this to a stack.  The code is simplified and
it avoids a cache overflow condition.

Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14062)
2021-02-07 20:01:50 +10:00
..
__DECC_INCLUDE_EPILOGUE.H
__DECC_INCLUDE_PROLOGUE.H
aes_platform.h Optimize AES-XTS mode in OpenSSL for aarch64 2020-11-12 11:09:22 +01:00
aria.h
asn1_dsa.h Update copyright year 2020-10-15 14:10:06 +01:00
asn1.h Update copyright year 2021-01-28 13:54:57 +01:00
asn1err.h Update copyright year 2020-11-26 14:18:57 +00:00
async.h
asyncerr.h Update copyright year 2020-11-26 14:18:57 +00:00
bioerr.h Update copyright year 2020-11-26 14:18:57 +00:00
bn_conf.h.in
bn_dh.h
bn_srp.h
bn.h Update copyright year 2020-10-15 14:10:06 +01:00
bnerr.h Update copyright year 2020-11-26 14:18:57 +00:00
buffererr.h Update copyright year 2020-11-26 14:18:57 +00:00
chacha.h
cmll_platform.h
cmperr.h Update copyright year 2020-11-26 14:18:57 +00:00
cms.h crypto/cms: add CAdES-BES signed attributes validation 2020-05-27 13:16:30 +02:00
cmserr.h Update copyright year 2020-11-26 14:18:57 +00:00
comperr.h Update copyright year 2020-11-26 14:18:57 +00:00
conferr.h Update copyright year 2020-11-26 14:18:57 +00:00
crmferr.h Update copyright year 2020-11-26 14:18:57 +00:00
cryptlib.h Always ensure we hold ctx->lock when calling CRYPTO_get_ex_data() 2021-02-02 12:21:21 +00:00
cryptoerr.h openssl_hexstr2buf_sep(): Prevent misleading 'malloc failure' errors on short input 2020-12-10 15:19:55 +01:00
cterr.h Update copyright year 2020-11-26 14:18:57 +00:00
ctype.h
decoder.h Rename OPENSSL_CTX prefix to OSSL_LIB_CTX 2020-10-15 11:59:53 +01:00
decodererr.h Update copyright year 2020-11-26 14:18:57 +00:00
des_platform.h
dh.h DECODER: Adjust the library context of keys in our decoders 2020-12-17 12:02:08 +01:00
dherr.h Update copyright year 2020-11-26 14:18:57 +00:00
dsa.h DECODER: Adjust the library context of keys in our decoders 2020-12-17 12:02:08 +01:00
dsaerr.h Update copyright year 2020-11-26 14:18:57 +00:00
dso_conf.h.in
ec.h Update copyright year 2021-01-28 13:54:57 +01:00
ecerr.h Update copyright year 2020-11-26 14:18:57 +00:00
ecx.h DECODER: Adjust the library context of keys in our decoders 2020-12-17 12:02:08 +01:00
encoder.h Rename OPENSSL_CTX prefix to OSSL_LIB_CTX 2020-10-15 11:59:53 +01:00
encodererr.h Update copyright year 2020-11-26 14:18:57 +00:00
engine.h
engineerr.h Update copyright year 2020-11-26 14:18:57 +00:00
err.h Update copyright year 2020-11-26 14:18:57 +00:00
ess.h crypto/cms: add CAdES-BES signed attributes validation 2020-05-27 13:16:30 +02:00
esserr.h Update copyright year 2020-11-26 14:18:57 +00:00
evp.h Fix race condition & allow operation cache to grow. 2021-02-07 20:01:50 +10:00
evperr.h Move the caching of cipher constants into evp_cipher_from_dispatch 2020-12-23 21:12:18 +01:00
httperr.h Update copyright year 2020-11-26 14:18:57 +00:00
lhash.h
md32_common.h
modes.h
objects.h
objectserr.h Update copyright year 2020-11-26 14:18:57 +00:00
ocsperr.h Update copyright year 2020-11-26 14:18:57 +00:00
pem.h PEM: Unlock MSBLOB and PVK functions from 'no-dsa' and 'no-rc4' 2020-12-13 10:27:31 +01:00
pemerr.h Update copyright year 2020-11-26 14:18:57 +00:00
pkcs7.h Add libctx support to PKCS7. 2020-08-09 17:34:52 +10:00
pkcs7err.h Update copyright year 2020-11-26 14:18:57 +00:00
pkcs12err.h Update copyright year 2020-11-26 14:18:57 +00:00
poly1305.h
punycode.h Update copyright year 2020-10-15 14:10:06 +01:00
rand_pool.h doc: Documentation changes for moving the entropy source out of the fips provider 2020-11-20 08:24:21 +10:00
rand.h rand: move the entropy source out of the FIPS provider 2020-11-20 08:24:21 +10:00
randerr.h Update copyright year 2020-11-26 14:18:57 +00:00
rsa.h RSA: properly generate algorithm identifier for RSA-PSS signatures 2021-02-05 14:04:59 +01:00
rsaerr.h Update copyright year 2020-11-26 14:18:57 +00:00
security_bits.h
sha.h Update copyright year 2020-11-26 14:18:57 +00:00
siphash.h
siv.h Rename OPENSSL_CTX prefix to OSSL_LIB_CTX 2020-10-15 11:59:53 +01:00
sm2.h Update copyright year 2021-01-28 13:54:57 +01:00
sm2err.h ERR: Rebuild all generated error headers and source files 2021-02-05 14:09:16 +01:00
sm4.h
sparse_array.h
store.h Add X509 related libctx changes. 2020-07-24 22:53:27 +10:00
storeerr.h Update copyright year 2020-11-26 14:18:57 +00:00
tserr.h Update copyright year 2020-11-26 14:18:57 +00:00
types.h Update copyright year 2021-01-28 13:54:57 +01:00
uierr.h Update copyright year 2020-11-26 14:18:57 +00:00
x509.h Update copyright year 2021-01-28 13:54:57 +01:00
x509err.h Update copyright year 2020-11-26 14:18:57 +00:00
x509v3err.h Update copyright year 2020-11-26 14:18:57 +00:00