openssl/crypto
Matt Caswell 0b07db6f56 Ensure the EVP_PKEY operation_cache is appropriately locked
The EVP_PKEY operation_cache caches references to provider side key
objects that have previously been exported for this EVP_PKEY, and their
associated key managers. The cache may be updated from time to time as the
EVP_PKEY is exported to more providers. Since an EVP_PKEY may be shared by
multiple threads simultaneously we must be careful to ensure the cache
updates are locked.

Fixes #13818

Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13987)
2021-02-02 12:21:33 +00:00
..
aes remove unused initialisations 2020-12-03 11:22:06 +10:00
aria
asn1 Update copyright year 2021-01-28 13:54:57 +01:00
async Update copyright year 2021-01-07 13:38:50 +00:00
bf
bio Update copyright year 2021-01-28 13:54:57 +01:00
bn Update copyright year 2021-01-28 13:54:57 +01:00
buffer Update copyright year 2020-11-26 14:18:57 +00:00
camellia
cast
chacha Fix aarch64 static linking into shared libraries (see issue #10842 and pull request #11464) 2020-10-22 12:16:49 +10:00
cmac Convert all {NAME}err() in crypto/ to their corresponding ERR_raise() call 2020-11-13 09:35:02 +01:00
cmp Update copyright year 2021-01-28 13:54:57 +01:00
cms Update copyright year 2021-01-28 13:54:57 +01:00
comp Update copyright year 2020-11-26 14:18:57 +00:00
conf Update copyright year 2021-01-28 13:54:57 +01:00
crmf ERR: Rebuild all generated error headers and source files 2020-11-24 15:22:33 +01:00
ct Update copyright year 2021-01-28 13:54:57 +01:00
des Update copyright year 2021-01-28 13:54:57 +01:00
dh Update copyright year 2021-01-28 13:54:57 +01:00
dsa Update copyright year 2021-01-28 13:54:57 +01:00
dso Update copyright year 2020-11-26 14:18:57 +00:00
ec Update copyright year 2021-01-28 13:54:57 +01:00
encode_decode Update copyright year 2021-01-28 13:54:57 +01:00
engine Drop OPENSSL_NO_RSA everywhere 2020-12-20 12:19:42 +01:00
err HTTP: add more error detection to low-level API 2021-02-02 07:54:37 +01:00
ess ERR: Rebuild all generated error headers and source files 2020-11-24 15:22:33 +01:00
evp Ensure the EVP_PKEY operation_cache is appropriately locked 2021-02-02 12:21:33 +00:00
ffc EVP_PKEY & DH: Make DH EVP_PKEY_CTX parameter ctrls / setters more available 2020-12-16 11:55:39 +01:00
hmac
http Constify OSSL_HTTP_REQ_CTX_get0_mem_bio() 2021-02-02 07:54:37 +01:00
idea
kdf
lhash Update copyright year 2020-11-26 14:18:57 +00:00
md2
md4
md5 Update copyright year 2020-11-26 14:18:57 +00:00
mdc2
modes Update copyright year 2020-11-26 14:18:57 +00:00
objects Add some PKIX-RPKI objects 2021-02-02 10:32:27 +01:00
ocsp Update copyright year 2021-01-28 13:54:57 +01:00
pem Update copyright year 2021-01-28 13:54:57 +01:00
perlasm
pkcs7 Update copyright year 2021-01-28 13:54:57 +01:00
pkcs12 Update copyright year 2020-11-26 14:18:57 +00:00
poly1305 crypto/poly1305/asm: fix armv8 pointer authentication 2020-10-29 17:17:21 +01:00
property ERR: Rebuild all generated error headers and source files 2020-11-24 15:22:33 +01:00
rand Refactor RAND_get0_primary() locking 2021-02-02 12:21:21 +00:00
rc2
rc4 rename md5_block_asm_data_order to ossl_md5_block_asm_data_order 2020-11-19 07:38:58 +10:00
rc5
ripemd
rsa EVP: fix keygen for EVP_PKEY_RSA_PSS 2021-01-28 16:25:16 +01:00
seed
sha Update copyright year 2020-11-26 14:18:57 +00:00
siphash
sm2 Update copyright year 2021-01-28 13:54:57 +01:00
sm3
sm4
srp Update copyright year 2021-01-28 13:54:57 +01:00
stack Update copyright year 2020-11-26 14:18:57 +00:00
store Update copyright year 2021-01-28 13:54:57 +01:00
ts Update copyright year 2020-11-26 14:18:57 +00:00
txt_db
ui ERR: Rebuild all generated error headers and source files 2020-11-24 15:22:33 +01:00
whrlpool
x509 Deprecate X509_certificate_type 2021-02-02 11:47:49 +01:00
alphacpuid.pl
arm64cpuid.pl Read MIDR_EL1 system register on aarch64 2020-12-09 16:17:17 +01:00
arm_arch.h Read MIDR_EL1 system register on aarch64 2020-12-09 16:17:17 +01:00
armcap.c Update copyright year 2021-01-28 13:54:57 +01:00
armv4cpuid.pl
asn1_dsa.c
bsearch.c
build.info Fix no-threads 2020-12-14 10:45:27 +10:00
c64xpluscpuid.pl
context.c Always ensure we hold ctx->lock when calling CRYPTO_get_ex_data() 2021-02-02 12:21:21 +00:00
core_algorithm.c
core_fetch.c Update copyright year 2021-01-28 13:54:57 +01:00
core_namemap.c
cpt_err.c openssl_hexstr2buf_sep(): Prevent misleading 'malloc failure' errors on short input 2020-12-10 15:19:55 +01:00
cryptlib.c
ctype.c
cversion.c
der_writer.c
dllmain.c
ebcdic.c
ex_data.c Always ensure we hold ctx->lock when calling CRYPTO_get_ex_data() 2021-02-02 12:21:21 +00:00
getenv.c
ia64cpuid.S
info.c
init.c Optimise OPENSSL_init_crypto 2020-12-31 13:14:38 +01:00
initthread.c Update copyright year 2021-01-28 13:54:57 +01:00
LPdir_nyi.c
LPdir_unix.c
LPdir_vms.c
LPdir_win32.c
LPdir_win.c
LPdir_wince.c
mem_clr.c
mem_sec.c Add MAP_CONCEAL from OpenBSD which has similar purpose but on mmap 2020-12-08 18:27:07 +01:00
mem.c
mips_arch.h
o_dir.c
o_fopen.c Update copyright year 2020-11-26 14:18:57 +00:00
o_init.c
o_str.c openssl_hexstr2buf_sep(): Prevent misleading 'malloc failure' errors on short input 2020-12-10 15:19:55 +01:00
o_time.c
packet.c Convert all {NAME}err() in crypto/ to their corresponding ERR_raise() call 2020-11-13 09:35:02 +01:00
param_build_set.c DH: make the private key length importable / exportable 2020-10-19 12:14:11 +02:00
param_build.c Convert all {NAME}err() in crypto/ to their corresponding ERR_raise() call 2020-11-13 09:35:02 +01:00
params_from_text.c Update copyright year 2021-01-28 13:54:57 +01:00
params.c params: allow more variations in integer conversions. 2020-12-12 21:43:07 +10:00
pariscid.pl
passphrase.c
ppc_arch.h
ppccap.c Update copyright year 2021-01-28 13:54:57 +01:00
ppccpuid.pl
provider_conf.c CRYPTO: refactor ERR_raise()+ERR_add_error_data() to ERR_raise_data() 2020-11-13 09:35:31 +01:00
provider_core.c Update copyright year 2021-01-28 13:54:57 +01:00
provider_local.h
provider_predefined.c
provider.c CORE: Separate OSSL_PROVIDER activation from OSSL_PROVIDER reference 2020-12-17 12:02:08 +01:00
punycode.c
README-sparse_array.md
s390x_arch.h
s390xcap.c
s390xcpuid.pl
self_test_core.c
sparc_arch.h
sparccpuid.S
sparcv9cap.c
sparse_array.c
threads_lib.c Fix no-threads 2020-12-14 10:45:27 +10:00
threads_none.c Add some more CRYPTO_atomic functions 2020-12-31 13:14:38 +01:00
threads_pthread.c Add some more CRYPTO_atomic functions 2020-12-31 13:14:38 +01:00
threads_win.c Add some more CRYPTO_atomic functions 2020-12-31 13:14:38 +01:00
trace.c ENCODER: Add tracing 2020-11-11 12:43:27 +01:00
uid.c
vms_rms.h
x86_64cpuid.pl
x86cpuid.pl