From: Daiki Ueno Date: Tue, 16 Nov 2021 17:20:24 +0000 (+0100) Subject: pkcs11: switch to using static mutex X-Git-Tag: 3.7.3~26^2~3 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=14dd5bbe4a6f8482e69a2c0ffba4fa258c9b236e;p=thirdparty%2Fgnutls.git pkcs11: switch to using static mutex Signed-off-by: Daiki Ueno --- diff --git a/lib/global.c b/lib/global.c index d725db8dfd..a6a23ab532 100644 --- a/lib/global.c +++ b/lib/global.c @@ -70,7 +70,6 @@ inline static int _gnutls_global_init_skip(void) /* created by asn1c */ extern const asn1_static_node gnutls_asn1_tab[]; extern const asn1_static_node pkix_asn1_tab[]; -void *_gnutls_pkcs11_mutex; asn1_node _gnutls_pkix1_asn = NULL; asn1_node _gnutls_gnutls_asn = NULL; @@ -311,12 +310,6 @@ static int _gnutls_global_init(unsigned constructor) goto out; } - ret = gnutls_mutex_init(&_gnutls_pkcs11_mutex); - if (ret < 0) { - gnutls_assert(); - goto out; - } - ret = gnutls_system_global_init(); if (ret < 0) { gnutls_assert(); @@ -429,8 +422,6 @@ static void _gnutls_global_deinit(unsigned destructor) #endif _gnutls_nss_keylog_deinit(); - - gnutls_mutex_deinit(&_gnutls_pkcs11_mutex); } else { if (_gnutls_init > 0) _gnutls_init--; diff --git a/lib/pkcs11.c b/lib/pkcs11.c index 364c0c49a9..8dda0f07c9 100644 --- a/lib/pkcs11.c +++ b/lib/pkcs11.c @@ -46,7 +46,7 @@ #define MAX_SLOTS 48 -extern void *_gnutls_pkcs11_mutex; +GNUTLS_STATIC_MUTEX(pkcs11_mutex); struct gnutls_pkcs11_provider_st { struct ck_function_list *module; @@ -279,7 +279,7 @@ int _gnutls_pkcs11_check_init(init_level_t req_level, void *priv, pkcs11_reinit_ { int ret, sret = 0; - ret = gnutls_mutex_lock(&_gnutls_pkcs11_mutex); + ret = gnutls_static_mutex_lock(&pkcs11_mutex); if (ret != 0) return gnutls_assert_val(GNUTLS_E_LOCKING_ERROR); @@ -351,7 +351,7 @@ int _gnutls_pkcs11_check_init(init_level_t req_level, void *priv, pkcs11_reinit_ ret = sret; cleanup: - gnutls_mutex_unlock(&_gnutls_pkcs11_mutex); + gnutls_static_mutex_unlock(&pkcs11_mutex); return ret; }