openssl/doc/internal/man3
Neil Horman 24d16d3a19 Make rcu_thread_key context-aware
Currently, rcu has a global bit of data, the CRYPTO_THREAD_LOCAL object
to store per thread data.  This works in some cases, but fails in FIPS,
becuase it contains its own copy of the global key.

So
1) Make the rcu_thr_key a per-context variable, and force
   ossl_rcu_lock_new to be context aware

2) Store a pointer to the context in the lock object

3) Use the context to get the global thread key on read/write lock

4) Use ossl_thread_start_init to properly register a cleanup on thread
   exit

5) Fix up missed calls to OSSL_thread_stop() in our tests

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24162)
2024-04-19 09:22:53 -04:00
..
cms_add1_signing_cert.pod
DEFINE_LIST_OF.pod
DEFINE_PRIORITY_QUEUE_OF.pod
evp_generic_fetch.pod
evp_keymgmt_newdata.pod
evp_keymgmt_util_export_to_provider.pod
evp_md_get_number.pod
evp_pkey_export_to_provider.pod
evp_pkey_get1_ED25519.pod
OPENSSL_SA.pod
OPTIONS.pod
ossl_algorithm_do_all.pod
ossl_cmp_asn1_octet_string_set1.pod
ossl_cmp_certreq_new.pod
ossl_cmp_ctx_set1_caPubs.pod
ossl_cmp_hdr_init.pod
ossl_cmp_mock_srv_new.pod
ossl_cmp_msg_check_update.pod
ossl_cmp_msg_create.pod
ossl_cmp_msg_protect.pod
ossl_cmp_pkisi_get_status.pod
ossl_cmp_print_log.pod
ossl_cmp_X509_STORE_add1_certs.pod
OSSL_DEPRECATED.pod
ossl_DER_w_begin_sequence.pod
ossl_DER_w_bn.pod
ossl_DER_w_precompiled.pod
ossl_ends_with_dirsep.pod
OSSL_EVENT.pod
ossl_global_properties_no_mirrored.pod
ossl_init_thread_deregister.pod
ossl_lib_ctx_get_data.pod
ossl_method_construct.pod Fix new typos found by codespell 2023-12-29 10:12:05 +01:00
OSSL_METHOD_STORE.pod Removed extra spaces in documentation 2023-12-12 20:00:05 +01:00
ossl_namemap_new.pod
ossl_provider_add_conf_module.pod
ossl_provider_new.pod Copyright year updates 2023-09-28 14:23:29 +01:00
ossl_punycode_decode.pod
ossl_rand_get_entropy.pod rand: add callbacks to cleanup the user entropy resp. nonce 2023-10-20 09:48:34 +01:00
ossl_random_add_conf_module.pod
ossl_rcu_lock_new.pod Make rcu_thread_key context-aware 2024-04-19 09:22:53 -04:00
ossl_rsa_get0_all_params.pod
OSSL_SAFE_MATH_SIGNED.pod
OSSL_TIME.pod
x509v3_cache_extensions.pod