nwrap: Remove unneeded nss_module_symbol_binding_mutex
authorAndreas Schneider <asn@samba.org>
Fri, 4 Nov 2022 13:35:50 +0000 (14:35 +0100)
committerAndreas Schneider <asn@samba.org>
Fri, 4 Nov 2022 13:41:50 +0000 (14:41 +0100)
This loading of nss symbols already is protected by the mutex of nwrap_init().

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
src/nss_wrapper.c

index 97c908ef4bc644cb6740f05bb1b4cc7e83a7bce1..a1a38d947206f924f91a41af7a0220bd9f54fef9 100644 (file)
@@ -177,8 +177,6 @@ typedef nss_status_t NSS_STATUS;
 #define NWRAP_INET_ADDRSTRLEN INET_ADDRSTRLEN
 #endif
 
-static pthread_mutex_t nss_module_symbol_binding_mutex = PTHREAD_MUTEX_INITIALIZER;
-
 static bool nwrap_initialized = false;
 static pthread_mutex_t nwrap_initialized_mutex = PTHREAD_MUTEX_INITIALIZER;
 
@@ -194,7 +192,6 @@ static pthread_mutex_t nwrap_sp_global_mutex = PTHREAD_MUTEX_INITIALIZER;
  * nwrap_init() function.
  */
 # define NWRAP_LOCK_ALL do { \
-       nwrap_mutex_lock(&nss_module_symbol_binding_mutex); \
        nwrap_mutex_lock(&nwrap_initialized_mutex); \
        nwrap_mutex_lock(&nwrap_global_mutex); \
        nwrap_mutex_lock(&nwrap_gr_global_mutex); \
@@ -210,7 +207,6 @@ static pthread_mutex_t nwrap_sp_global_mutex = PTHREAD_MUTEX_INITIALIZER;
        nwrap_mutex_unlock(&nwrap_gr_global_mutex); \
        nwrap_mutex_unlock(&nwrap_global_mutex); \
        nwrap_mutex_unlock(&nwrap_initialized_mutex); \
-       nwrap_mutex_unlock(&nss_module_symbol_binding_mutex); \
 } while (0);
 
 static void nwrap_init(void);
@@ -1781,20 +1777,16 @@ static void *_nwrap_bind_nss_module_symbol(struct nwrap_backend *b,
 }
 
 #define nwrap_nss_module_bind_symbol(sym_name) \
-       nwrap_mutex_lock(&nss_module_symbol_binding_mutex); \
        if (symbols->_nss_##sym_name.obj == NULL) { \
                symbols->_nss_##sym_name.obj = \
                        _nwrap_bind_nss_module_symbol(b, #sym_name); \
-       } \
-       nwrap_mutex_unlock(&nss_module_symbol_binding_mutex)
+       }
 
 #define nwrap_nss_module_bind_symbol2(sym_name, alt_name) \
-       nwrap_mutex_lock(&nss_module_symbol_binding_mutex); \
        if (symbols->_nss_##sym_name.obj == NULL) { \
                symbols->_nss_##sym_name.obj = \
                        _nwrap_bind_nss_module_symbol(b, #alt_name); \
-       } \
-       nwrap_mutex_unlock(&nss_module_symbol_binding_mutex)
+       }
 
 static struct nwrap_nss_module_symbols *
 nwrap_bind_nss_module_symbols(struct nwrap_backend *b)