openssl/crypto
Neil Horman d259b8b855 Refactor init_get_thread_local to be more understandable
We currently have a single function that does thread_local key
allocation/cleanup/fetching for our OSSL_init_thread_start/stop apis,
and its pretty confusing.  Wrap it up in some helper functions to make
it more clear at the call sites what we're trying to do.

Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/27794)
2025-06-20 13:01:39 -04:00
..
aes Workaround for issue with assembler on OS X 10.4 2025-05-19 08:59:14 +02:00
aria
asn1 Add params precondition in ASN1_STRING_TABLE_add, ASN1_STRING_TABLE_get 2025-06-20 15:58:46 +01:00
async Allow for differentiating between default and NULL context 2025-06-20 13:01:39 -04:00
bf
bio BIO_dump_indent_cb(): Check for negative return from BIO_snprintf() 2025-04-28 17:29:17 +02:00
bn armv*-mont.pl: Correct a carry flag comment 2025-06-18 08:00:06 +10:00
buffer
camellia Update dead links and e-mails our sources 2025-03-26 15:40:02 +01:00
cast
chacha Fix test failures on big endian ARMv9 target 2025-04-14 15:43:58 +01:00
cmac Add FIPS indicator to CMAC. 2024-07-31 09:04:17 +10:00
cmp OSSL_CMP_MSG_http_perform(): Remove extraneous %s from debug log print 2025-05-27 19:50:41 +02:00
cms Update cms_pwri.c 2025-04-15 15:42:50 +01:00
comp
conf Copyright year updates 2025-03-12 13:35:59 +00:00
crmf Copyright year updates 2025-03-12 13:35:59 +00:00
ct
des Copyright year updates 2024-09-05 09:35:49 +02:00
dh Handle 0 return values from DH key computations as errors 2025-06-03 14:26:54 +02:00
dsa Fix potential use-after-free in REF_PRINT_COUNT 2024-12-10 14:58:08 +01:00
dso Fix potential use-after-free in REF_PRINT_COUNT 2024-12-10 14:58:08 +01:00
ec Workaround for issue with assembler on OS X 10.4 2025-05-19 08:59:14 +02:00
encode_decode Copyright year updates 2025-03-12 13:35:59 +00:00
engine Copyright year updates 2025-03-12 13:35:59 +00:00
err Allow for differentiating between default and NULL context 2025-06-20 13:01:39 -04:00
ess Copyright year updates 2024-09-05 09:35:49 +02:00
evp Allow keygen after dup of minimal PKEY ctx 2025-06-10 19:43:56 +02:00
ffc ffc: change FIPS zeroization to use the OPENSSL_PEDANTIC_ZEROIZATION define 2024-11-28 15:13:35 +01:00
hashtable Copyright year updates 2025-03-12 13:35:59 +00:00
hmac s390x: Fix HMAC to fail update or final call when already finalized 2025-06-13 10:06:21 +02:00
hpke Fix potential memory leak in OSSL_HPKE_CTX_new() 2024-10-30 11:58:16 +00:00
http Fix URL parsing to handle missing ports and ISO 8601 timestamps in paths 2025-04-23 11:27:01 +02:00
idea Copyright year updates 2024-09-05 09:35:49 +02:00
kdf
lhash
md2
md4
md5 Update dead links and e-mails our sources 2025-03-26 15:40:02 +01:00
mdc2
ml_dsa ml-dsa: add security category support 2025-05-27 18:01:44 +10:00
ml_kem Report errors in ML-KEM pkey hash 2025-06-18 07:03:20 -04:00
modes Update dead links and e-mails our sources 2025-03-26 15:40:02 +01:00
objects Implement AES-CBC-HMAC-SHA512 on aarch64 2025-04-14 14:53:30 +01:00
ocsp Copyright year updates 2025-03-12 13:35:59 +00:00
pem Copyright year updates 2025-03-12 13:35:59 +00:00
perlasm Pick up {vex} in x86_64 assembler translator 2025-05-19 16:24:42 +02:00
pkcs7 crypto/pkcs7/pk7_smime.c: Add BIO_free() to avoid memory leak 2025-05-27 19:49:07 +02:00
pkcs12 Copyright year updates 2025-03-12 13:35:59 +00:00
poly1305 Update dead links and e-mails our sources 2025-03-26 15:40:02 +01:00
property crypto/property/property.c: Free impl->method to avoid memory leak 2025-05-29 16:39:51 +02:00
rand Adjust rand_lib to use new thread-local mgmt api 2025-06-20 13:01:39 -04:00
rc2
rc4 Update dead links and e-mails our sources 2025-03-26 15:40:02 +01:00
rc5
ripemd
rsa Copyright year updates 2025-03-12 13:35:59 +00:00
seed
sha SHA512/x86_64: Fix SIGSEGV on $avx=0 path 2025-05-09 09:33:37 +10:00
siphash
slh_dsa slh-dsa: add security category support 2025-05-27 18:01:44 +10:00
sm2 sm2_sig_verify(): Do not call BN_CTX_end() without BN_CTX_start() 2024-11-21 11:13:56 +01:00
sm3 Fix test failures on big endian ARMv9 target 2025-04-14 15:43:58 +01:00
sm4 Fix test failures on big endian ARMv9 target 2025-04-14 15:43:58 +01:00
srp Fix potential double free through SRP_user_pwd_set1_ids() 2024-10-11 14:22:36 +02:00
stack Adds the concept of thunks to OPENSSL_sk interface 2025-03-24 15:28:34 +01:00
store store_result.c: add to error queue which provider failed to load credential and hint on using default provider 2025-05-20 21:19:34 +02:00
thread Fix no-thread-pool build on Windows 2024-09-10 16:36:39 +02:00
ts Fix memory leaks after failure of PKCS7_add_signed_attribute() 2025-05-23 17:36:53 +02:00
txt_db
ui crypto/ui/ui_lib.c: Add OPENSSL_free to avoid memory leaks 2025-04-14 15:17:29 +01:00
whrlpool Update dead links and e-mails our sources 2025-03-26 15:40:02 +01:00
x509 crypto/x509/v3_lib.c: Free tmpext if X509V3_EXT_add() fails to avoid memory leak 2025-05-19 16:18:35 +02:00
LPdir_nyi.c
LPdir_unix.c
LPdir_vms.c
LPdir_win.c
LPdir_win32.c
LPdir_wince.c
README-sparse_array.md
alphacpuid.pl Remove unused assembly function OPENSSL_wipe_cpu 2025-04-16 08:24:19 +10:00
arm64cpuid.pl
arm_arch.h Enable AES and SHA3 optimisations on Qualcomm Snapdragon X systems 2025-05-07 11:17:48 +10:00
armcap.c Enable AES and SHA3 optimisations on Qualcomm Snapdragon X systems 2025-05-07 11:17:48 +10:00
armv4cpuid.pl Remove unused assembly function OPENSSL_wipe_cpu 2025-04-16 08:24:19 +10:00
asn1_dsa.c
bsearch.c
build.info Add new CRYPTO_THREAD_[get|set]_local_ex api 2025-06-20 13:01:39 -04:00
c64xpluscpuid.pl Remove unused assembly function OPENSSL_wipe_cpu 2025-04-16 08:24:19 +10:00
comp_methods.c Move stack of compression methods from libssl to OSSL_LIB_CTX 2024-05-28 08:56:13 +02:00
context.c Restore use of crypto_thread_default_context 2025-06-20 13:01:39 -04:00
core_algorithm.c
core_fetch.c Copyright year updates 2025-03-12 13:35:59 +00:00
core_namemap.c Copyright year updates 2025-03-12 13:35:59 +00:00
cpt_err.c Use the new hashtable for core_namemap 2024-08-21 15:21:26 +02:00
cpuid.c Extension of OPENSSL_ia32cap to accommodate additional CPUID bits 2024-12-13 14:51:22 +01:00
cryptlib.c
ctype.c
cversion.c crypto: fix preprocessor concatenation 2025-03-31 13:58:06 +02:00
defaults.c Fix probing the registry for configuration 2025-03-31 13:58:06 +02:00
der_writer.c
deterministic_nonce.c Copyright year updates 2024-09-05 09:35:49 +02:00
dllmain.c Make cpuid_setup non-constructor 2025-04-29 14:19:51 +02:00
ebcdic.c
ex_data.c
getenv.c
ia64cpuid.S Remove unused assembly function OPENSSL_wipe_cpu 2025-04-16 08:24:19 +10:00
indicator_core.c Add FIPS indicator callback. 2024-07-11 08:29:43 +10:00
info.c Extension of OPENSSL_ia32cap to accommodate additional CPUID bits 2024-12-13 14:51:22 +01:00
init.c Copyright year updates 2025-03-12 13:35:59 +00:00
initthread.c Refactor init_get_thread_local to be more understandable 2025-06-20 13:01:39 -04:00
loongarch64cpuid.pl Copyright year updates 2025-03-12 13:35:59 +00:00
loongarch_arch.h
loongarchcap.c
mem.c Use static array (length 256) for copy of OPENSSL_MALLOC_FAILURES 2024-11-28 17:01:28 +01:00
mem_clr.c
mem_sec.c Copyright year updates 2024-09-05 09:35:49 +02:00
mips_arch.h
o_dir.c
o_fopen.c Copyright year updates 2024-09-05 09:35:49 +02:00
o_init.c
o_str.c crypto: factorize to hex chars conversion code. 2024-08-07 19:25:10 +02:00
o_time.c
packet.c
param_build.c
param_build_set.c
params.c params: refactor some of the param helper code 2025-04-18 15:23:42 +01:00
params_dup.c
params_from_text.c crypto: disable OSSL_PARAM_REAL on UEFI 2025-04-15 15:27:38 +01:00
pariscid.pl Remove unused assembly function OPENSSL_wipe_cpu 2025-04-16 08:24:19 +10:00
passphrase.c
ppccap.c Make cpuid_setup non-constructor 2025-04-29 14:19:51 +02:00
ppccpuid.pl Remove unused assembly function OPENSSL_wipe_cpu 2025-04-16 08:24:19 +10:00
provider.c Copyright year updates 2025-03-12 13:35:59 +00:00
provider_child.c
provider_conf.c crypto/provider_conf.c: Fix possible memory leak 2025-05-07 11:49:06 +02:00
provider_core.c Fix trace output for provider algorithm names 2025-05-16 10:47:16 +02:00
provider_local.h
provider_predefined.c
punycode.c
quic_vlint.c
rcu_internal.h
riscv32cpuid.pl Copyright year updates 2024-09-05 09:35:49 +02:00
riscv64cpuid.pl
riscvcap.c Make cpuid_setup non-constructor 2025-04-29 14:19:51 +02:00
s390x_arch.h s390x: Don't probe crypto cards for ME/CRT offloading during initialization 2024-10-23 15:07:01 +02:00
s390xcap.c s390x: Add new machine generation z17 2025-04-23 11:24:41 +02:00
s390xcpuid.pl Make cpuid_setup non-constructor 2025-04-29 14:19:51 +02:00
self_test_core.c Copyright year updates 2024-09-05 09:35:49 +02:00
sleep.c For Unix, refactor OSSL_sleep() to use nanosleep() instead of usleep() 2024-05-22 09:59:32 +02:00
sparccpuid.S Make cpuid_setup non-constructor 2025-04-29 14:19:51 +02:00
sparcv9cap.c
sparse_array.c Copyright year updates 2024-09-05 09:35:49 +02:00
ssl_err.c Move ssl_err.c into libcrypto 2025-03-01 14:46:03 -05:00
sslerr.h Move ssl_err.c into libcrypto 2025-03-01 14:46:03 -05:00
threads_common.c Fix fips cleanup of master key 2025-06-20 13:01:39 -04:00
threads_lib.c
threads_none.c Allow for reuse of thread_local keys in threads_none 2025-06-06 13:49:39 -04:00
threads_pthread.c update RCU to use the new thread-local key mgmt api 2025-06-20 13:01:39 -04:00
threads_win.c update RCU to use the new thread-local key mgmt api 2025-06-20 13:01:39 -04:00
time.c crypto: fix missing <winsock.h> indirection inclusion. 2024-09-05 17:02:51 +02:00
trace.c Add a QUERY trace category 2024-11-19 08:36:19 -05:00
uid.c
vms_rms.h
x86_64cpuid.pl Make cpuid_setup non-constructor 2025-04-29 14:19:51 +02:00
x86cpuid.pl Make cpuid_setup non-constructor 2025-04-29 14:19:51 +02:00