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 Update copyright year 2020-04-23 13:55:52 +01:00
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 Update copyright year 2020-04-23 13:55:52 +01:00
cast Fix logic error for building x86 CAST assembly 2020-06-14 12:35:34 -07:00
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 Delete unused PKEY MAC files 2020-08-29 17:40:11 +10:00
http Constify OSSL_HTTP_REQ_CTX_get0_mem_bio() 2021-02-02 07:54:37 +01:00
idea Update copyright year 2020-04-23 13:55:52 +01:00
kdf
lhash Update copyright year 2020-11-26 14:18:57 +00:00
md2 Update copyright year 2020-04-23 13:55:52 +01:00
md4 Update copyright year 2020-04-23 13:55:52 +01:00
md5 Update copyright year 2020-11-26 14:18:57 +00:00
mdc2 Update copyright year 2020-04-23 13:55:52 +01:00
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 Fix many MarkDown issues in {NOTES*,README*,HACKING,LICENSE}.md files 2020-07-05 11:29:43 +02:00
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 Update copyright year 2020-04-23 13:55:52 +01:00
rc4 rename md5_block_asm_data_order to ossl_md5_block_asm_data_order 2020-11-19 07:38:58 +10:00
rc5 Update copyright year 2020-04-23 13:55:52 +01:00
ripemd Diverse build.info: Adjust paths 2020-09-10 09:50:56 +02:00
rsa EVP: fix keygen for EVP_PKEY_RSA_PSS 2021-01-28 16:25:16 +01:00
seed Update copyright year 2020-04-23 13:55:52 +01:00
sha Update copyright year 2020-11-26 14:18:57 +00:00
siphash Delete unused PKEY MAC files 2020-08-29 17:40:11 +10:00
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 Avoid undefined behavior with unaligned accesses 2020-05-27 20:11:20 +02:00
x509 Deprecate X509_certificate_type 2021-02-02 11:47:49 +01:00
LPdir_nyi.c
LPdir_unix.c
LPdir_vms.c
LPdir_win.c
LPdir_win32.c
LPdir_wince.c
README-sparse_array.md Fix many MarkDown issues in {NOTES*,README*,HACKING,LICENSE}.md files 2020-07-05 11:29:43 +02:00
alphacpuid.pl Update copyright year 2020-04-23 13:55:52 +01:00
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 Update copyright year 2020-04-23 13:55:52 +01:00
asn1_dsa.c Update copyright year 2020-10-15 14:10:06 +01:00
bsearch.c
build.info Fix no-threads 2020-12-14 10:45:27 +10:00
c64xpluscpuid.pl Update copyright year 2020-04-23 13:55:52 +01:00
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 Rename OPENSSL_CTX prefix to OSSL_LIB_CTX 2020-10-15 11:59:53 +01:00
core_fetch.c Update copyright year 2021-01-28 13:54:57 +01:00
core_namemap.c Rename OPENSSL_CTX prefix to OSSL_LIB_CTX 2020-10-15 11:59:53 +01:00
cpt_err.c openssl_hexstr2buf_sep(): Prevent misleading 'malloc failure' errors on short input 2020-12-10 15:19:55 +01:00
cryptlib.c Update copyright year 2020-10-15 14:10:06 +01:00
ctype.c
cversion.c
der_writer.c der: _ossl prefix DER functions 2020-10-01 11:25:12 +10:00
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 Update copyright year 2020-10-15 14:10:06 +01:00
ia64cpuid.S
info.c Print CPUINFO also for s390 processors 2020-06-22 02:35:01 +02:00
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
mem.c Rename FIPS_MODE to FIPS_MODULE 2020-04-28 15:37:37 +02:00
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
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 Update copyright year 2020-07-16 14:47:04 +02:00
packet.c Convert all {NAME}err() in crypto/ to their corresponding ERR_raise() call 2020-11-13 09:35:02 +01:00
param_build.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
params.c params: allow more variations in integer conversions. 2020-12-12 21:43:07 +10:00
params_from_text.c Update copyright year 2021-01-28 13:54:57 +01:00
pariscid.pl Update copyright year 2020-04-23 13:55:52 +01:00
passphrase.c CORE: Fix small bug in passphrase caching 2020-09-03 17:48:32 +02:00
ppc_arch.h
ppccap.c Update copyright year 2021-01-28 13:54:57 +01:00
ppccpuid.pl Update copyright year 2020-04-23 13:55:52 +01:00
provider.c CORE: Separate OSSL_PROVIDER activation from OSSL_PROVIDER reference 2020-12-17 12:02:08 +01:00
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 serialisation: Add a built-in base provider. 2020-07-30 20:15:22 +10:00
punycode.c Update copyright year 2020-10-15 14:10:06 +01:00
s390x_arch.h Update copyright year 2020-04-23 13:55:52 +01:00
s390xcap.c
s390xcpuid.pl Update copyright year 2020-04-23 13:55:52 +01:00
self_test_core.c Rename OPENSSL_CTX prefix to OSSL_LIB_CTX 2020-10-15 11:59:53 +01:00
sparc_arch.h
sparccpuid.S
sparcv9cap.c Update copyright year 2020-04-23 13:55:52 +01:00
sparse_array.c Update copyright year 2020-10-15 14:10:06 +01:00
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 Update copyright year 2020-04-23 13:55:52 +01:00
x86cpuid.pl Update copyright year 2020-04-23 13:55:52 +01:00