forked from wolfSSL/wolfssl
Merge pull request #7284 from douzzer/20240229-mutex-initializer-global-refactor
20240229-mutex-initializer-global-refactor
This commit is contained in:
@@ -800,6 +800,7 @@
|
|||||||
*/
|
*/
|
||||||
#include <linux/mutex.h>
|
#include <linux/mutex.h>
|
||||||
typedef struct mutex wolfSSL_Mutex;
|
typedef struct mutex wolfSSL_Mutex;
|
||||||
|
#define WOLFSSL_MUTEX_INITIALIZER(lockname) __MUTEX_INITIALIZER(lockname)
|
||||||
|
|
||||||
/* prevent gcc's mm_malloc.h from being included, since it unconditionally
|
/* prevent gcc's mm_malloc.h from being included, since it unconditionally
|
||||||
* includes stdlib.h, which is kernel-incompatible.
|
* includes stdlib.h, which is kernel-incompatible.
|
||||||
|
@@ -447,7 +447,6 @@ typedef struct SnifferServer {
|
|||||||
struct SnifferServer* next; /* for list */
|
struct SnifferServer* next; /* for list */
|
||||||
} SnifferServer;
|
} SnifferServer;
|
||||||
|
|
||||||
|
|
||||||
/* Session Flags */
|
/* Session Flags */
|
||||||
typedef struct Flags {
|
typedef struct Flags {
|
||||||
byte side; /* which end is current packet headed */
|
byte side; /* which end is current packet headed */
|
||||||
@@ -569,13 +568,13 @@ typedef struct SnifferSession {
|
|||||||
/* Sniffer Server List and mutex */
|
/* Sniffer Server List and mutex */
|
||||||
static THREAD_LS_T WOLFSSL_GLOBAL SnifferServer* ServerList = NULL;
|
static THREAD_LS_T WOLFSSL_GLOBAL SnifferServer* ServerList = NULL;
|
||||||
#ifndef HAVE_C___ATOMIC
|
#ifndef HAVE_C___ATOMIC
|
||||||
static WOLFSSL_GLOBAL wolfSSL_Mutex ServerListMutex;
|
static WOLFSSL_GLOBAL wolfSSL_Mutex ServerListMutex WOLFSSL_MUTEX_INITIALIZER_CLAUSE(ServerListMutex);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Session Hash Table, mutex, and count */
|
/* Session Hash Table, mutex, and count */
|
||||||
static THREAD_LS_T WOLFSSL_GLOBAL SnifferSession* SessionTable[HASH_SIZE];
|
static THREAD_LS_T WOLFSSL_GLOBAL SnifferSession* SessionTable[HASH_SIZE];
|
||||||
#ifndef HAVE_C___ATOMIC
|
#ifndef HAVE_C___ATOMIC
|
||||||
static WOLFSSL_GLOBAL wolfSSL_Mutex SessionMutex;
|
static WOLFSSL_GLOBAL wolfSSL_Mutex SessionMutex WOLFSSL_MUTEX_INITIALIZER_CLAUSE(SessionMutex);
|
||||||
#endif
|
#endif
|
||||||
static THREAD_LS_T WOLFSSL_GLOBAL int SessionCount = 0;
|
static THREAD_LS_T WOLFSSL_GLOBAL int SessionCount = 0;
|
||||||
|
|
||||||
@@ -584,7 +583,7 @@ static WOLFSSL_GLOBAL int MaxRecoveryMemory = -1;
|
|||||||
/* per session max recovery memory */
|
/* per session max recovery memory */
|
||||||
#ifndef WOLFSSL_SNIFFER_NO_RECOVERY
|
#ifndef WOLFSSL_SNIFFER_NO_RECOVERY
|
||||||
/* Recovery of missed data switches and stats */
|
/* Recovery of missed data switches and stats */
|
||||||
static WOLFSSL_GLOBAL wolfSSL_Mutex RecoveryMutex; /* for stats */
|
static WOLFSSL_GLOBAL wolfSSL_Mutex RecoveryMutex WOLFSSL_MUTEX_INITIALIZER_CLAUSE(RecoveryMutex); /* for stats */
|
||||||
/* # of sessions with missed data */
|
/* # of sessions with missed data */
|
||||||
static WOLFSSL_GLOBAL word32 MissedDataSessions = 0;
|
static WOLFSSL_GLOBAL word32 MissedDataSessions = 0;
|
||||||
#endif
|
#endif
|
||||||
@@ -596,7 +595,7 @@ static WOLFSSL_GLOBAL void* ConnectionCbCtx = NULL;
|
|||||||
#ifdef WOLFSSL_SNIFFER_STATS
|
#ifdef WOLFSSL_SNIFFER_STATS
|
||||||
/* Sessions Statistics */
|
/* Sessions Statistics */
|
||||||
static WOLFSSL_GLOBAL SSLStats SnifferStats;
|
static WOLFSSL_GLOBAL SSLStats SnifferStats;
|
||||||
static WOLFSSL_GLOBAL wolfSSL_Mutex StatsMutex;
|
static WOLFSSL_GLOBAL wolfSSL_Mutex StatsMutex WOLFSSL_MUTEX_INITIALIZER_CLAUSE(StatsMutex);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef WOLFSSL_SNIFFER_KEY_CALLBACK
|
#ifdef WOLFSSL_SNIFFER_KEY_CALLBACK
|
||||||
@@ -683,6 +682,7 @@ static int addKeyLogSnifferServerHelper(const char* address,
|
|||||||
void ssl_InitSniffer_ex(int devId)
|
void ssl_InitSniffer_ex(int devId)
|
||||||
{
|
{
|
||||||
wolfSSL_Init();
|
wolfSSL_Init();
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
#ifndef HAVE_C___ATOMIC
|
#ifndef HAVE_C___ATOMIC
|
||||||
wc_InitMutex(&ServerListMutex);
|
wc_InitMutex(&ServerListMutex);
|
||||||
wc_InitMutex(&SessionMutex);
|
wc_InitMutex(&SessionMutex);
|
||||||
@@ -694,6 +694,11 @@ void ssl_InitSniffer_ex(int devId)
|
|||||||
XMEMSET(&SnifferStats, 0, sizeof(SSLStats));
|
XMEMSET(&SnifferStats, 0, sizeof(SSLStats));
|
||||||
wc_InitMutex(&StatsMutex);
|
wc_InitMutex(&StatsMutex);
|
||||||
#endif
|
#endif
|
||||||
|
#endif /* !WOLFSSL_MUTEX_INITIALIZER */
|
||||||
|
|
||||||
|
#ifdef WOLFSSL_SNIFFER_STATS
|
||||||
|
XMEMSET(&SnifferStats, 0, sizeof(SSLStats));
|
||||||
|
#endif
|
||||||
#if defined(WOLF_CRYPTO_CB) || defined(WOLFSSL_ASYNC_CRYPT)
|
#if defined(WOLF_CRYPTO_CB) || defined(WOLFSSL_ASYNC_CRYPT)
|
||||||
CryptoDeviceId = devId;
|
CryptoDeviceId = devId;
|
||||||
#endif
|
#endif
|
||||||
@@ -903,6 +908,7 @@ void ssl_FreeSniffer(void)
|
|||||||
#endif /* WOLFSSL_SNIFFER_KEYLOGFILE */
|
#endif /* WOLFSSL_SNIFFER_KEYLOGFILE */
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
#ifndef WOLFSSL_SNIFFER_NO_RECOVERY
|
#ifndef WOLFSSL_SNIFFER_NO_RECOVERY
|
||||||
wc_FreeMutex(&RecoveryMutex);
|
wc_FreeMutex(&RecoveryMutex);
|
||||||
#endif
|
#endif
|
||||||
@@ -910,6 +916,7 @@ void ssl_FreeSniffer(void)
|
|||||||
wc_FreeMutex(&SessionMutex);
|
wc_FreeMutex(&SessionMutex);
|
||||||
wc_FreeMutex(&ServerListMutex);
|
wc_FreeMutex(&ServerListMutex);
|
||||||
#endif
|
#endif
|
||||||
|
#endif /* !WOLFSSL_MUTEX_INITIALIZER */
|
||||||
|
|
||||||
#ifdef WOLF_CRYPTO_CB
|
#ifdef WOLF_CRYPTO_CB
|
||||||
#ifdef HAVE_INTEL_QA_SYNC
|
#ifdef HAVE_INTEL_QA_SYNC
|
||||||
@@ -7235,7 +7242,7 @@ static THREAD_LS_T WOLFSSL_GLOBAL
|
|||||||
SecretNode*
|
SecretNode*
|
||||||
secretHashTable[WOLFSSL_SNIFFER_KEYLOGFILE_HASH_TABLE_SIZE] = {NULL};
|
secretHashTable[WOLFSSL_SNIFFER_KEYLOGFILE_HASH_TABLE_SIZE] = {NULL};
|
||||||
#ifndef HAVE_C___ATOMIC
|
#ifndef HAVE_C___ATOMIC
|
||||||
static WOLFSSL_GLOBAL wolfSSL_Mutex secretListMutex;
|
static WOLFSSL_GLOBAL wolfSSL_Mutex secretListMutex WOLFSSL_MUTEX_INITIALIZER_CLAUSE(secretListMutex);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static unsigned int secretHashFunction(unsigned char* clientRandom);
|
static unsigned int secretHashFunction(unsigned char* clientRandom);
|
||||||
|
100
src/ssl.c
100
src/ssl.c
@@ -309,8 +309,10 @@ int wc_OBJ_sn2nid(const char *sn)
|
|||||||
static WC_RNG globalRNG;
|
static WC_RNG globalRNG;
|
||||||
static int initGlobalRNG = 0;
|
static int initGlobalRNG = 0;
|
||||||
|
|
||||||
static wolfSSL_Mutex globalRNGMutex;
|
static WC_MAYBE_UNUSED wolfSSL_Mutex globalRNGMutex WOLFSSL_MUTEX_INITIALIZER_CLAUSE(globalRNGMutex);
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static int globalRNGMutex_valid = 0;
|
static int globalRNGMutex_valid = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(OPENSSL_EXTRA) && defined(HAVE_HASHDRBG)
|
#if defined(OPENSSL_EXTRA) && defined(HAVE_HASHDRBG)
|
||||||
static WOLFSSL_DRBG_CTX* gDrbgDefCtx = NULL;
|
static WOLFSSL_DRBG_CTX* gDrbgDefCtx = NULL;
|
||||||
@@ -406,8 +408,10 @@ WC_RNG* wolfssl_make_rng(WC_RNG* rng, int* local)
|
|||||||
* OPENSSL_EXTRA where RAND callbacks are not used */
|
* OPENSSL_EXTRA where RAND callbacks are not used */
|
||||||
#ifndef WOLFSSL_NO_OPENSSL_RAND_CB
|
#ifndef WOLFSSL_NO_OPENSSL_RAND_CB
|
||||||
static const WOLFSSL_RAND_METHOD* gRandMethods = NULL;
|
static const WOLFSSL_RAND_METHOD* gRandMethods = NULL;
|
||||||
|
static wolfSSL_Mutex gRandMethodMutex WOLFSSL_MUTEX_INITIALIZER_CLAUSE(gRandMethodMutex);
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static int gRandMethodsInit = 0;
|
static int gRandMethodsInit = 0;
|
||||||
static wolfSSL_Mutex gRandMethodMutex;
|
#endif
|
||||||
#endif /* !WOLFSSL_NO_OPENSSL_RAND_CB */
|
#endif /* !WOLFSSL_NO_OPENSSL_RAND_CB */
|
||||||
#endif /* OPENSSL_EXTRA */
|
#endif /* OPENSSL_EXTRA */
|
||||||
|
|
||||||
@@ -1265,11 +1269,9 @@ int wolfSSL_send_session(WOLFSSL* ssl)
|
|||||||
|
|
||||||
/* prevent multiple mutex initializations */
|
/* prevent multiple mutex initializations */
|
||||||
static volatile WOLFSSL_GLOBAL int initRefCount = 0;
|
static volatile WOLFSSL_GLOBAL int initRefCount = 0;
|
||||||
#ifdef WOLFSSL_MUTEX_INITIALIZER
|
static WOLFSSL_GLOBAL wolfSSL_Mutex inits_count_mutex WOLFSSL_MUTEX_INITIALIZER_CLAUSE(inits_count_mutex); /* init ref count mutex */
|
||||||
static WOLFSSL_GLOBAL wolfSSL_Mutex count_mutex = WOLFSSL_MUTEX_INITIALIZER;
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
#else
|
static WOLFSSL_GLOBAL int inits_count_mutex_valid = 0;
|
||||||
static WOLFSSL_GLOBAL wolfSSL_Mutex count_mutex; /* init ref count mutex */
|
|
||||||
static WOLFSSL_GLOBAL int count_mutex_valid = 0;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Create a new WOLFSSL_CTX struct and return the pointer to created struct.
|
/* Create a new WOLFSSL_CTX struct and return the pointer to created struct.
|
||||||
@@ -6164,8 +6166,10 @@ int AddCA(WOLFSSL_CERT_MANAGER* cm, DerBuffer** pDer, int type, int verify)
|
|||||||
/* Client Cache */
|
/* Client Cache */
|
||||||
/* uses session mutex */
|
/* uses session mutex */
|
||||||
|
|
||||||
static WOLFSSL_GLOBAL wolfSSL_Mutex clisession_mutex; /* ClientCache mutex */
|
static WOLFSSL_GLOBAL wolfSSL_Mutex clisession_mutex WOLFSSL_MUTEX_INITIALIZER_CLAUSE(clisession_mutex); /* ClientCache mutex */
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static WOLFSSL_GLOBAL int clisession_mutex_valid = 0;
|
static WOLFSSL_GLOBAL int clisession_mutex_valid = 0;
|
||||||
|
#endif
|
||||||
#endif /* !NO_CLIENT_CACHE */
|
#endif /* !NO_CLIENT_CACHE */
|
||||||
|
|
||||||
void EvictSessionFromCache(WOLFSSL_SESSION* session)
|
void EvictSessionFromCache(WOLFSSL_SESSION* session)
|
||||||
@@ -6223,22 +6227,40 @@ int wolfSSL_Init(void)
|
|||||||
|
|
||||||
WOLFSSL_ENTER("wolfSSL_Init");
|
WOLFSSL_ENTER("wolfSSL_Init");
|
||||||
|
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
|
if (inits_count_mutex_valid == 0) {
|
||||||
|
if (wc_InitMutex(&inits_count_mutex) != 0) {
|
||||||
|
WOLFSSL_MSG("Bad Init Mutex count");
|
||||||
|
return BAD_MUTEX_E;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
inits_count_mutex_valid = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif /* !WOLFSSL_MUTEX_INITIALIZER */
|
||||||
|
|
||||||
|
if (wc_LockMutex(&inits_count_mutex) != 0) {
|
||||||
|
WOLFSSL_MSG("Bad Lock Mutex count");
|
||||||
|
return BAD_MUTEX_E;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((ret == WOLFSSL_SUCCESS) && (initRefCount == 0)) {
|
||||||
|
/* Initialize crypto for use with TLS connection */
|
||||||
|
|
||||||
#if FIPS_VERSION_GE(5,1)
|
#if FIPS_VERSION_GE(5,1)
|
||||||
ret = wolfCrypt_SetPrivateKeyReadEnable_fips(1, WC_KEYTYPE_ALL);
|
ret = wolfCrypt_SetPrivateKeyReadEnable_fips(1, WC_KEYTYPE_ALL);
|
||||||
if (ret != 0)
|
if (ret == 0)
|
||||||
return ret;
|
|
||||||
else
|
|
||||||
ret = WOLFSSL_SUCCESS;
|
ret = WOLFSSL_SUCCESS;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (initRefCount == 0) {
|
if (ret == WOLFSSL_SUCCESS) {
|
||||||
/* Initialize crypto for use with TLS connection */
|
if (wolfCrypt_Init() != 0) {
|
||||||
if (wolfCrypt_Init() != 0) {
|
WOLFSSL_MSG("Bad wolfCrypt Init");
|
||||||
WOLFSSL_MSG("Bad wolfCrypt Init");
|
ret = WC_INIT_E;
|
||||||
ret = WC_INIT_E;
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_GLOBAL_RNG
|
#if defined(HAVE_GLOBAL_RNG) && !defined(WOLFSSL_MUTEX_INITIALIZER)
|
||||||
if (ret == WOLFSSL_SUCCESS) {
|
if (ret == WOLFSSL_SUCCESS) {
|
||||||
if (wc_InitMutex(&globalRNGMutex) != 0) {
|
if (wc_InitMutex(&globalRNGMutex) != 0) {
|
||||||
WOLFSSL_MSG("Bad Init Mutex rng");
|
WOLFSSL_MSG("Bad Init Mutex rng");
|
||||||
@@ -6293,6 +6315,7 @@ int wolfSSL_Init(void)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#ifndef NO_CLIENT_CACHE
|
#ifndef NO_CLIENT_CACHE
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (ret == WOLFSSL_SUCCESS) {
|
if (ret == WOLFSSL_SUCCESS) {
|
||||||
if (wc_InitMutex(&clisession_mutex) != 0) {
|
if (wc_InitMutex(&clisession_mutex) != 0) {
|
||||||
WOLFSSL_MSG("Bad Init Mutex session");
|
WOLFSSL_MSG("Bad Init Mutex session");
|
||||||
@@ -6302,19 +6325,9 @@ int wolfSSL_Init(void)
|
|||||||
clisession_mutex_valid = 1;
|
clisession_mutex_valid = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
|
||||||
if (ret == WOLFSSL_SUCCESS) {
|
|
||||||
if (wc_InitMutex(&count_mutex) != 0) {
|
|
||||||
WOLFSSL_MSG("Bad Init Mutex count");
|
|
||||||
ret = BAD_MUTEX_E;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
count_mutex_valid = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif /* !WOLFSSL_MUTEX_INITIALIZER */
|
|
||||||
#if defined(OPENSSL_EXTRA) && defined(HAVE_ATEXIT)
|
#if defined(OPENSSL_EXTRA) && defined(HAVE_ATEXIT)
|
||||||
/* OpenSSL registers cleanup using atexit */
|
/* OpenSSL registers cleanup using atexit */
|
||||||
if ((ret == WOLFSSL_SUCCESS) && (atexit(AtExitCleanup) != 0)) {
|
if ((ret == WOLFSSL_SUCCESS) && (atexit(AtExitCleanup) != 0)) {
|
||||||
@@ -6325,16 +6338,11 @@ int wolfSSL_Init(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (ret == WOLFSSL_SUCCESS) {
|
if (ret == WOLFSSL_SUCCESS) {
|
||||||
if (wc_LockMutex(&count_mutex) != 0) {
|
initRefCount++;
|
||||||
WOLFSSL_MSG("Bad Lock Mutex count");
|
|
||||||
ret = BAD_MUTEX_E;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
initRefCount++;
|
|
||||||
wc_UnLockMutex(&count_mutex);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wc_UnLockMutex(&inits_count_mutex);
|
||||||
|
|
||||||
if (ret != WOLFSSL_SUCCESS) {
|
if (ret != WOLFSSL_SUCCESS) {
|
||||||
initRefCount = 1; /* Force cleanup */
|
initRefCount = 1; /* Force cleanup */
|
||||||
(void)wolfSSL_Cleanup(); /* Ignore any error from cleanup */
|
(void)wolfSSL_Cleanup(); /* Ignore any error from cleanup */
|
||||||
@@ -13620,9 +13628,9 @@ int wolfSSL_Cleanup(void)
|
|||||||
WOLFSSL_ENTER("wolfSSL_Cleanup");
|
WOLFSSL_ENTER("wolfSSL_Cleanup");
|
||||||
|
|
||||||
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (count_mutex_valid == 1) {
|
if (inits_count_mutex_valid == 1) {
|
||||||
#endif
|
#endif
|
||||||
if (wc_LockMutex(&count_mutex) != 0) {
|
if (wc_LockMutex(&inits_count_mutex) != 0) {
|
||||||
WOLFSSL_MSG("Bad Lock Mutex count");
|
WOLFSSL_MSG("Bad Lock Mutex count");
|
||||||
return BAD_MUTEX_E;
|
return BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -13637,9 +13645,9 @@ int wolfSSL_Cleanup(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (count_mutex_valid == 1) {
|
if (inits_count_mutex_valid == 1) {
|
||||||
#endif
|
#endif
|
||||||
wc_UnLockMutex(&count_mutex);
|
wc_UnLockMutex(&inits_count_mutex);
|
||||||
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@@ -13683,6 +13691,7 @@ int wolfSSL_Cleanup(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#ifndef NO_CLIENT_CACHE
|
#ifndef NO_CLIENT_CACHE
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if ((clisession_mutex_valid == 1) &&
|
if ((clisession_mutex_valid == 1) &&
|
||||||
(wc_FreeMutex(&clisession_mutex) != 0)) {
|
(wc_FreeMutex(&clisession_mutex) != 0)) {
|
||||||
if (ret == WOLFSSL_SUCCESS)
|
if (ret == WOLFSSL_SUCCESS)
|
||||||
@@ -13690,14 +13699,15 @@ int wolfSSL_Cleanup(void)
|
|||||||
}
|
}
|
||||||
clisession_mutex_valid = 0;
|
clisession_mutex_valid = 0;
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
#endif /* !NO_SESSION_CACHE */
|
#endif /* !NO_SESSION_CACHE */
|
||||||
|
|
||||||
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if ((count_mutex_valid == 1) && (wc_FreeMutex(&count_mutex) != 0)) {
|
if ((inits_count_mutex_valid == 1) && (wc_FreeMutex(&inits_count_mutex) != 0)) {
|
||||||
if (ret == WOLFSSL_SUCCESS)
|
if (ret == WOLFSSL_SUCCESS)
|
||||||
ret = BAD_MUTEX_E;
|
ret = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
count_mutex_valid = 0;
|
inits_count_mutex_valid = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef OPENSSL_EXTRA
|
#ifdef OPENSSL_EXTRA
|
||||||
@@ -13718,11 +13728,13 @@ int wolfSSL_Cleanup(void)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_GLOBAL_RNG
|
#ifdef HAVE_GLOBAL_RNG
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if ((globalRNGMutex_valid == 1) && (wc_FreeMutex(&globalRNGMutex) != 0)) {
|
if ((globalRNGMutex_valid == 1) && (wc_FreeMutex(&globalRNGMutex) != 0)) {
|
||||||
if (ret == WOLFSSL_SUCCESS)
|
if (ret == WOLFSSL_SUCCESS)
|
||||||
ret = BAD_MUTEX_E;
|
ret = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
globalRNGMutex_valid = 0;
|
globalRNGMutex_valid = 0;
|
||||||
|
#endif /* !WOLFSSL_MUTEX_INITIALIZER */
|
||||||
|
|
||||||
#if defined(OPENSSL_EXTRA) && defined(HAVE_HASHDRBG)
|
#if defined(OPENSSL_EXTRA) && defined(HAVE_HASHDRBG)
|
||||||
wolfSSL_FIPS_drbg_free(gDrbgDefCtx);
|
wolfSSL_FIPS_drbg_free(gDrbgDefCtx);
|
||||||
@@ -32949,6 +32961,7 @@ void wolfSSL_BUF_MEM_free(WOLFSSL_BUF_MEM* buf)
|
|||||||
#if defined(OPENSSL_EXTRA) && !defined(WOLFSSL_NO_OPENSSL_RAND_CB)
|
#if defined(OPENSSL_EXTRA) && !defined(WOLFSSL_NO_OPENSSL_RAND_CB)
|
||||||
static int wolfSSL_RAND_InitMutex(void)
|
static int wolfSSL_RAND_InitMutex(void)
|
||||||
{
|
{
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (gRandMethodsInit == 0) {
|
if (gRandMethodsInit == 0) {
|
||||||
if (wc_InitMutex(&gRandMethodMutex) != 0) {
|
if (wc_InitMutex(&gRandMethodMutex) != 0) {
|
||||||
WOLFSSL_MSG("Bad Init Mutex rand methods");
|
WOLFSSL_MSG("Bad Init Mutex rand methods");
|
||||||
@@ -32956,6 +32969,7 @@ static int wolfSSL_RAND_InitMutex(void)
|
|||||||
}
|
}
|
||||||
gRandMethodsInit = 1;
|
gRandMethodsInit = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@@ -33327,8 +33341,10 @@ void wolfSSL_RAND_Cleanup(void)
|
|||||||
wc_UnLockMutex(&gRandMethodMutex);
|
wc_UnLockMutex(&gRandMethodMutex);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (wc_FreeMutex(&gRandMethodMutex) == 0)
|
if (wc_FreeMutex(&gRandMethodMutex) == 0)
|
||||||
gRandMethodsInit = 0;
|
gRandMethodsInit = 0;
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_GLOBAL_RNG
|
#ifdef HAVE_GLOBAL_RNG
|
||||||
if (wc_LockMutex(&globalRNGMutex) == 0) {
|
if (wc_LockMutex(&globalRNGMutex) == 0) {
|
||||||
|
@@ -1488,7 +1488,7 @@ static int xil_mpi_import(mp_int *mpi,
|
|||||||
/* cache (mp_int) of the curve parameters */
|
/* cache (mp_int) of the curve parameters */
|
||||||
static ecc_curve_spec* ecc_curve_spec_cache[ECC_SET_COUNT];
|
static ecc_curve_spec* ecc_curve_spec_cache[ECC_SET_COUNT];
|
||||||
#ifndef SINGLE_THREADED
|
#ifndef SINGLE_THREADED
|
||||||
static wolfSSL_Mutex ecc_curve_cache_mutex;
|
static wolfSSL_Mutex ecc_curve_cache_mutex WOLFSSL_MUTEX_INITIALIZER_CLAUSE(ecc_curve_cache_mutex);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define DECLARE_CURVE_SPECS(intcount) ecc_curve_spec* curve = NULL
|
#define DECLARE_CURVE_SPECS(intcount) ecc_curve_spec* curve = NULL
|
||||||
@@ -1758,7 +1758,8 @@ static int wc_ecc_curve_load(const ecc_set_type* dp, ecc_curve_spec** pCurve,
|
|||||||
int wc_ecc_curve_cache_init(void)
|
int wc_ecc_curve_cache_init(void)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
#if defined(ECC_CACHE_CURVE) && !defined(SINGLE_THREADED)
|
#if defined(ECC_CACHE_CURVE) && !defined(SINGLE_THREADED) && \
|
||||||
|
!defined(WOLFSSL_MUTEX_INITIALIZER)
|
||||||
ret = wc_InitMutex(&ecc_curve_cache_mutex);
|
ret = wc_InitMutex(&ecc_curve_cache_mutex);
|
||||||
#endif
|
#endif
|
||||||
return ret;
|
return ret;
|
||||||
@@ -1777,7 +1778,8 @@ void wc_ecc_curve_cache_free(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(ECC_CACHE_CURVE) && !defined(SINGLE_THREADED)
|
#if defined(ECC_CACHE_CURVE) && !defined(SINGLE_THREADED) && \
|
||||||
|
!defined(WOLFSSL_MUTEX_INITIALIZER)
|
||||||
wc_FreeMutex(&ecc_curve_cache_mutex);
|
wc_FreeMutex(&ecc_curve_cache_mutex);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@@ -11598,8 +11600,10 @@ typedef struct {
|
|||||||
static THREAD_LS_T fp_cache_t fp_cache[FP_ENTRIES];
|
static THREAD_LS_T fp_cache_t fp_cache[FP_ENTRIES];
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
static wolfSSL_Mutex ecc_fp_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(ecc_fp_lock);
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initMutex = 0; /* prevent multiple mutex inits */
|
static volatile int initMutex = 0; /* prevent multiple mutex inits */
|
||||||
static wolfSSL_Mutex ecc_fp_lock;
|
#endif
|
||||||
#endif /* HAVE_THREAD_LS */
|
#endif /* HAVE_THREAD_LS */
|
||||||
|
|
||||||
/* simple table to help direct the generation of the LUT */
|
/* simple table to help direct the generation of the LUT */
|
||||||
@@ -12886,10 +12890,12 @@ int ecc_mul2add(ecc_point* A, mp_int* kA,
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initMutex == 0) { /* extra sanity check if wolfCrypt_Init not called */
|
if (initMutex == 0) { /* extra sanity check if wolfCrypt_Init not called */
|
||||||
wc_InitMutex(&ecc_fp_lock);
|
wc_InitMutex(&ecc_fp_lock);
|
||||||
initMutex = 1;
|
initMutex = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if (wc_LockMutex(&ecc_fp_lock) != 0) {
|
if (wc_LockMutex(&ecc_fp_lock) != 0) {
|
||||||
#ifdef WOLFSSL_SMALL_STACK
|
#ifdef WOLFSSL_SMALL_STACK
|
||||||
@@ -13044,10 +13050,12 @@ int wc_ecc_mulmod_ex(const mp_int* k, ecc_point *G, ecc_point *R, mp_int* a,
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initMutex == 0) { /* extra sanity check if wolfCrypt_Init not called */
|
if (initMutex == 0) { /* extra sanity check if wolfCrypt_Init not called */
|
||||||
wc_InitMutex(&ecc_fp_lock);
|
wc_InitMutex(&ecc_fp_lock);
|
||||||
initMutex = 1;
|
initMutex = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if (wc_LockMutex(&ecc_fp_lock) != 0) {
|
if (wc_LockMutex(&ecc_fp_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
@@ -13219,10 +13227,12 @@ int wc_ecc_mulmod_ex2(const mp_int* k, ecc_point *G, ecc_point *R, mp_int* a,
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initMutex == 0) { /* extra sanity check if wolfCrypt_Init not called */
|
if (initMutex == 0) { /* extra sanity check if wolfCrypt_Init not called */
|
||||||
wc_InitMutex(&ecc_fp_lock);
|
wc_InitMutex(&ecc_fp_lock);
|
||||||
initMutex = 1;
|
initMutex = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if (wc_LockMutex(&ecc_fp_lock) != 0) {
|
if (wc_LockMutex(&ecc_fp_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
@@ -13379,12 +13389,14 @@ void wc_ecc_fp_init(void)
|
|||||||
{
|
{
|
||||||
#ifndef WOLFSSL_SP_MATH
|
#ifndef WOLFSSL_SP_MATH
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initMutex == 0) {
|
if (initMutex == 0) {
|
||||||
wc_InitMutex(&ecc_fp_lock);
|
wc_InitMutex(&ecc_fp_lock);
|
||||||
initMutex = 1;
|
initMutex = 1;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -13394,10 +13406,12 @@ void wc_ecc_fp_free(void)
|
|||||||
{
|
{
|
||||||
#if !defined(WOLFSSL_SP_MATH)
|
#if !defined(WOLFSSL_SP_MATH)
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initMutex == 0) { /* extra sanity check if wolfCrypt_Init not called */
|
if (initMutex == 0) { /* extra sanity check if wolfCrypt_Init not called */
|
||||||
wc_InitMutex(&ecc_fp_lock);
|
wc_InitMutex(&ecc_fp_lock);
|
||||||
initMutex = 1;
|
initMutex = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if (wc_LockMutex(&ecc_fp_lock) == 0) {
|
if (wc_LockMutex(&ecc_fp_lock) == 0) {
|
||||||
#endif /* HAVE_THREAD_LS */
|
#endif /* HAVE_THREAD_LS */
|
||||||
@@ -13406,8 +13420,10 @@ void wc_ecc_fp_free(void)
|
|||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
wc_UnLockMutex(&ecc_fp_lock);
|
wc_UnLockMutex(&ecc_fp_lock);
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
wc_FreeMutex(&ecc_fp_lock);
|
wc_FreeMutex(&ecc_fp_lock);
|
||||||
initMutex = 0;
|
initMutex = 0;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
#endif /* HAVE_THREAD_LS */
|
#endif /* HAVE_THREAD_LS */
|
||||||
#endif
|
#endif
|
||||||
|
@@ -818,7 +818,7 @@ static struct wc_error_queue* wc_current_node;
|
|||||||
static void* wc_error_heap;
|
static void* wc_error_heap;
|
||||||
|
|
||||||
/* mutex for list operation protection */
|
/* mutex for list operation protection */
|
||||||
static wolfSSL_Mutex wc_error_mutex;
|
static wolfSSL_Mutex wc_error_mutex WOLFSSL_MUTEX_INITIALIZER_CLAUSE(wc_error_mutex);
|
||||||
#define ERRQ_MUTEX_INIT() wc_InitMutex(&wc_error_mutex)
|
#define ERRQ_MUTEX_INIT() wc_InitMutex(&wc_error_mutex)
|
||||||
#define ERRQ_MUTEX_FREE() wc_FreeMutex(&wc_error_mutex)
|
#define ERRQ_MUTEX_FREE() wc_FreeMutex(&wc_error_mutex)
|
||||||
#define ERRQ_LOCK() wc_LockMutex(&wc_error_mutex)
|
#define ERRQ_LOCK() wc_LockMutex(&wc_error_mutex)
|
||||||
@@ -827,10 +827,12 @@ static wolfSSL_Mutex wc_error_mutex;
|
|||||||
/* Internal function that is called by wolfCrypt_Init() */
|
/* Internal function that is called by wolfCrypt_Init() */
|
||||||
int wc_LoggingInit(void)
|
int wc_LoggingInit(void)
|
||||||
{
|
{
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (ERRQ_MUTEX_INIT() != 0) {
|
if (ERRQ_MUTEX_INIT() != 0) {
|
||||||
WOLFSSL_MSG("Bad Init Mutex");
|
WOLFSSL_MSG("Bad Init Mutex");
|
||||||
return BAD_MUTEX_E;
|
return BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
wc_errors_count = 0;
|
wc_errors_count = 0;
|
||||||
wc_errors = NULL;
|
wc_errors = NULL;
|
||||||
wc_current_node = NULL;
|
wc_current_node = NULL;
|
||||||
@@ -845,10 +847,12 @@ int wc_LoggingCleanup(void)
|
|||||||
/* clear logging entries */
|
/* clear logging entries */
|
||||||
wc_ClearErrorNodes();
|
wc_ClearErrorNodes();
|
||||||
/* free mutex */
|
/* free mutex */
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (ERRQ_MUTEX_FREE() != 0) {
|
if (ERRQ_MUTEX_FREE() != 0) {
|
||||||
WOLFSSL_MSG("Bad Mutex free");
|
WOLFSSL_MSG("Bad Mutex free");
|
||||||
return BAD_MUTEX_E;
|
return BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -120,7 +120,7 @@ int wolfSSL_GetAllocators(wolfSSL_Malloc_cb* mf,
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef WOLFSSL_MEM_FAIL_COUNT
|
#ifdef WOLFSSL_MEM_FAIL_COUNT
|
||||||
static wolfSSL_Mutex memFailMutex;
|
static wolfSSL_Mutex memFailMutex WOLFSSL_MUTEX_INITIALIZER_CLAUSE(memFailMutex);
|
||||||
int mem_fail_allocs = 0;
|
int mem_fail_allocs = 0;
|
||||||
int mem_fail_frees = 0;
|
int mem_fail_frees = 0;
|
||||||
int mem_fail_cnt = 0;
|
int mem_fail_cnt = 0;
|
||||||
@@ -128,7 +128,9 @@ int mem_fail_cnt = 0;
|
|||||||
void wc_MemFailCount_Init()
|
void wc_MemFailCount_Init()
|
||||||
{
|
{
|
||||||
char* cnt;
|
char* cnt;
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
wc_InitMutex(&memFailMutex);
|
wc_InitMutex(&memFailMutex);
|
||||||
|
#endif
|
||||||
cnt = getenv("MEM_FAIL_CNT");
|
cnt = getenv("MEM_FAIL_CNT");
|
||||||
if (cnt != NULL) {
|
if (cnt != NULL) {
|
||||||
fprintf(stderr, "MemFailCount At: %d\n", mem_fail_cnt);
|
fprintf(stderr, "MemFailCount At: %d\n", mem_fail_cnt);
|
||||||
@@ -158,7 +160,9 @@ static void wc_MemFailCount_FreeMem(void)
|
|||||||
}
|
}
|
||||||
void wc_MemFailCount_Free()
|
void wc_MemFailCount_Free()
|
||||||
{
|
{
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
wc_FreeMutex(&memFailMutex);
|
wc_FreeMutex(&memFailMutex);
|
||||||
|
#endif
|
||||||
fprintf(stderr, "MemFailCount Total: %d\n", mem_fail_allocs);
|
fprintf(stderr, "MemFailCount Total: %d\n", mem_fail_allocs);
|
||||||
fprintf(stderr, "MemFailCount Frees: %d\n", mem_fail_frees);
|
fprintf(stderr, "MemFailCount Frees: %d\n", mem_fail_frees);
|
||||||
}
|
}
|
||||||
@@ -196,7 +200,7 @@ static MemZero memZero[WOLFSSL_MEM_CHECK_ZERO_CACHE_LEN];
|
|||||||
*/
|
*/
|
||||||
static int nextIdx = -1;
|
static int nextIdx = -1;
|
||||||
/* Mutex to protect modifying list of addresses to check. */
|
/* Mutex to protect modifying list of addresses to check. */
|
||||||
static wolfSSL_Mutex zeroMutex;
|
static wolfSSL_Mutex zeroMutex WOLFSSL_MUTEX_INITIALIZER_CLAUSE(zeroMutex);
|
||||||
|
|
||||||
/* Initialize the table of addresses and the mutex.
|
/* Initialize the table of addresses and the mutex.
|
||||||
*/
|
*/
|
||||||
@@ -205,7 +209,9 @@ void wc_MemZero_Init()
|
|||||||
/* Clear the table to more easily see what is valid. */
|
/* Clear the table to more easily see what is valid. */
|
||||||
XMEMSET(memZero, 0, sizeof(memZero));
|
XMEMSET(memZero, 0, sizeof(memZero));
|
||||||
/* Initialize mutex. */
|
/* Initialize mutex. */
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
wc_InitMutex(&zeroMutex);
|
wc_InitMutex(&zeroMutex);
|
||||||
|
#endif
|
||||||
/* Next index is first entry. */
|
/* Next index is first entry. */
|
||||||
nextIdx = 0;
|
nextIdx = 0;
|
||||||
}
|
}
|
||||||
@@ -215,7 +221,9 @@ void wc_MemZero_Init()
|
|||||||
void wc_MemZero_Free()
|
void wc_MemZero_Free()
|
||||||
{
|
{
|
||||||
/* Free mutex. */
|
/* Free mutex. */
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
wc_FreeMutex(&zeroMutex);
|
wc_FreeMutex(&zeroMutex);
|
||||||
|
#endif
|
||||||
/* Make sure we checked all addresses. */
|
/* Make sure we checked all addresses. */
|
||||||
if (nextIdx > 0) {
|
if (nextIdx > 0) {
|
||||||
int i;
|
int i;
|
||||||
|
@@ -92,9 +92,12 @@ This library contains implementation for the random number generator.
|
|||||||
#elif defined(HAVE_WNR)
|
#elif defined(HAVE_WNR)
|
||||||
#include <wnr.h>
|
#include <wnr.h>
|
||||||
#include <wolfssl/wolfcrypt/logging.h>
|
#include <wolfssl/wolfcrypt/logging.h>
|
||||||
wolfSSL_Mutex wnr_mutex; /* global netRandom mutex */
|
wolfSSL_Mutex wnr_mutex WOLFSSL_MUTEX_INITIALIZER_CLAUSE(wnr_mutex); /* global netRandom mutex */
|
||||||
int wnr_timeout = 0; /* entropy timeout, milliseconds */
|
int wnr_timeout = 0; /* entropy timeout, milliseconds */
|
||||||
int wnr_mutex_init = 0; /* flag for mutex init */
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
|
int wnr_mutex_inited = 0; /* flag for mutex init */
|
||||||
|
#endif
|
||||||
|
int wnr_inited = 0; /* flag for whether wc_InitNetRandom() has been called */
|
||||||
wnr_context* wnr_ctx; /* global netRandom context */
|
wnr_context* wnr_ctx; /* global netRandom context */
|
||||||
#elif defined(FREESCALE_KSDK_2_0_TRNG)
|
#elif defined(FREESCALE_KSDK_2_0_TRNG)
|
||||||
#include "fsl_trng.h"
|
#include "fsl_trng.h"
|
||||||
@@ -1376,7 +1379,7 @@ static int Entropy_Condition(byte* output, word32 len, byte* noise,
|
|||||||
/* Mutex to prevent multiple callers requesting entropy operations at the
|
/* Mutex to prevent multiple callers requesting entropy operations at the
|
||||||
* same time.
|
* same time.
|
||||||
*/
|
*/
|
||||||
static wolfSSL_Mutex entropy_mutex;
|
static wolfSSL_Mutex entropy_mutex WOLFSSL_MUTEX_INITIALIZER_CLAUSE(entropy_mutex);
|
||||||
|
|
||||||
/* Get entropy of specified strength.
|
/* Get entropy of specified strength.
|
||||||
*
|
*
|
||||||
@@ -1503,7 +1506,7 @@ int Entropy_Init()
|
|||||||
|
|
||||||
/* Check whether initialization has succeeded before. */
|
/* Check whether initialization has succeeded before. */
|
||||||
if (!entropy_memuse_initialized) {
|
if (!entropy_memuse_initialized) {
|
||||||
#ifndef SINGLE_THREADED
|
#if !defined(SINGLE_THREADED) && !defined(WOLFSSL_MUTEX_INITIALIZER)
|
||||||
ret = wc_InitMutex(&entropy_mutex);
|
ret = wc_InitMutex(&entropy_mutex);
|
||||||
#endif
|
#endif
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
@@ -1540,7 +1543,7 @@ void Entropy_Final()
|
|||||||
if (entropy_memuse_initialized) {
|
if (entropy_memuse_initialized) {
|
||||||
/* Dispose of the SHA3-356 hash object. */
|
/* Dispose of the SHA3-356 hash object. */
|
||||||
wc_Sha3_256_Free(&entropyHash);
|
wc_Sha3_256_Free(&entropyHash);
|
||||||
#ifndef SINGLE_THREADED
|
#if !defined(SINGLE_THREADED) && !defined(WOLFSSL_MUTEX_INITIALIZER)
|
||||||
wc_FreeMutex(&entropy_mutex);
|
wc_FreeMutex(&entropy_mutex);
|
||||||
#endif
|
#endif
|
||||||
/* Clear health test data. */
|
/* Clear health test data. */
|
||||||
@@ -2277,10 +2280,13 @@ static int wc_RNG_HealthTestLocal(int reseed, void* heap, int devId)
|
|||||||
*/
|
*/
|
||||||
int wc_InitNetRandom(const char* configFile, wnr_hmac_key hmac_cb, int timeout)
|
int wc_InitNetRandom(const char* configFile, wnr_hmac_key hmac_cb, int timeout)
|
||||||
{
|
{
|
||||||
|
int ret;
|
||||||
|
|
||||||
if (configFile == NULL || timeout < 0)
|
if (configFile == NULL || timeout < 0)
|
||||||
return BAD_FUNC_ARG;
|
return BAD_FUNC_ARG;
|
||||||
|
|
||||||
if (wnr_mutex_init > 0) {
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
|
if (wnr_mutex_inited > 0) {
|
||||||
WOLFSSL_MSG("netRandom context already created, skipping");
|
WOLFSSL_MSG("netRandom context already created, skipping");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -2289,7 +2295,14 @@ int wc_InitNetRandom(const char* configFile, wnr_hmac_key hmac_cb, int timeout)
|
|||||||
WOLFSSL_MSG("Bad Init Mutex wnr_mutex");
|
WOLFSSL_MSG("Bad Init Mutex wnr_mutex");
|
||||||
return BAD_MUTEX_E;
|
return BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
wnr_mutex_init = 1;
|
|
||||||
|
wnr_mutex_inited = 1;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (wnr_inited > 0) {
|
||||||
|
WOLFSSL_MSG("netRandom context already created, skipping");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (wc_LockMutex(&wnr_mutex) != 0) {
|
if (wc_LockMutex(&wnr_mutex) != 0) {
|
||||||
WOLFSSL_MSG("Bad Lock Mutex wnr_mutex");
|
WOLFSSL_MSG("Bad Lock Mutex wnr_mutex");
|
||||||
@@ -2302,7 +2315,8 @@ int wc_InitNetRandom(const char* configFile, wnr_hmac_key hmac_cb, int timeout)
|
|||||||
/* create global wnr_context struct */
|
/* create global wnr_context struct */
|
||||||
if (wnr_create(&wnr_ctx) != WNR_ERROR_NONE) {
|
if (wnr_create(&wnr_ctx) != WNR_ERROR_NONE) {
|
||||||
WOLFSSL_MSG("Error creating global netRandom context");
|
WOLFSSL_MSG("Error creating global netRandom context");
|
||||||
return RNG_FAILURE_E;
|
ret = RNG_FAILURE_E;
|
||||||
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* load config file */
|
/* load config file */
|
||||||
@@ -2310,7 +2324,8 @@ int wc_InitNetRandom(const char* configFile, wnr_hmac_key hmac_cb, int timeout)
|
|||||||
WOLFSSL_MSG("Error loading config file into netRandom context");
|
WOLFSSL_MSG("Error loading config file into netRandom context");
|
||||||
wnr_destroy(wnr_ctx);
|
wnr_destroy(wnr_ctx);
|
||||||
wnr_ctx = NULL;
|
wnr_ctx = NULL;
|
||||||
return RNG_FAILURE_E;
|
ret = RNG_FAILURE_E;
|
||||||
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* create/init polling mechanism */
|
/* create/init polling mechanism */
|
||||||
@@ -2318,7 +2333,8 @@ int wc_InitNetRandom(const char* configFile, wnr_hmac_key hmac_cb, int timeout)
|
|||||||
WOLFSSL_MSG("Error initializing netRandom polling mechanism");
|
WOLFSSL_MSG("Error initializing netRandom polling mechanism");
|
||||||
wnr_destroy(wnr_ctx);
|
wnr_destroy(wnr_ctx);
|
||||||
wnr_ctx = NULL;
|
wnr_ctx = NULL;
|
||||||
return RNG_FAILURE_E;
|
ret = RNG_FAILURE_E;
|
||||||
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* validate config, set HMAC callback (optional) */
|
/* validate config, set HMAC callback (optional) */
|
||||||
@@ -2327,12 +2343,17 @@ int wc_InitNetRandom(const char* configFile, wnr_hmac_key hmac_cb, int timeout)
|
|||||||
wnr_destroy(wnr_ctx);
|
wnr_destroy(wnr_ctx);
|
||||||
wnr_ctx = NULL;
|
wnr_ctx = NULL;
|
||||||
wnr_poll_destroy();
|
wnr_poll_destroy();
|
||||||
return RNG_FAILURE_E;
|
ret = RNG_FAILURE_E;
|
||||||
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wnr_inited = 1;
|
||||||
|
|
||||||
|
out:
|
||||||
|
|
||||||
wc_UnLockMutex(&wnr_mutex);
|
wc_UnLockMutex(&wnr_mutex);
|
||||||
|
|
||||||
return 0;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -2341,7 +2362,7 @@ int wc_InitNetRandom(const char* configFile, wnr_hmac_key hmac_cb, int timeout)
|
|||||||
*/
|
*/
|
||||||
int wc_FreeNetRandom(void)
|
int wc_FreeNetRandom(void)
|
||||||
{
|
{
|
||||||
if (wnr_mutex_init > 0) {
|
if (wnr_inited > 0) {
|
||||||
|
|
||||||
if (wc_LockMutex(&wnr_mutex) != 0) {
|
if (wc_LockMutex(&wnr_mutex) != 0) {
|
||||||
WOLFSSL_MSG("Bad Lock Mutex wnr_mutex");
|
WOLFSSL_MSG("Bad Lock Mutex wnr_mutex");
|
||||||
@@ -2356,8 +2377,12 @@ int wc_FreeNetRandom(void)
|
|||||||
|
|
||||||
wc_UnLockMutex(&wnr_mutex);
|
wc_UnLockMutex(&wnr_mutex);
|
||||||
|
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
wc_FreeMutex(&wnr_mutex);
|
wc_FreeMutex(&wnr_mutex);
|
||||||
wnr_mutex_init = 0;
|
wnr_mutex_inited = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
wnr_inited = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@@ -74076,8 +74076,10 @@ static THREAD_LS_T int sp_cache_256_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_256_inited = 0;
|
static THREAD_LS_T int sp_cache_256_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_256 = 0;
|
static volatile int initCacheMutex_256 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_256_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_256_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_256_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -74175,10 +74177,12 @@ static int sp_256_ecc_mulmod_8(sp_point_256* r, const sp_point_256* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_256 == 0) {
|
if (initCacheMutex_256 == 0) {
|
||||||
wc_InitMutex(&sp_cache_256_lock);
|
wc_InitMutex(&sp_cache_256_lock);
|
||||||
initCacheMutex_256 = 1;
|
initCacheMutex_256 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_256_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_256_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -74496,8 +74500,10 @@ static THREAD_LS_T int sp_cache_256_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_256_inited = 0;
|
static THREAD_LS_T int sp_cache_256_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_256 = 0;
|
static volatile int initCacheMutex_256 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_256_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_256_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_256_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -74595,10 +74601,12 @@ static int sp_256_ecc_mulmod_8(sp_point_256* r, const sp_point_256* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_256 == 0) {
|
if (initCacheMutex_256 == 0) {
|
||||||
wc_InitMutex(&sp_cache_256_lock);
|
wc_InitMutex(&sp_cache_256_lock);
|
||||||
initCacheMutex_256 = 1;
|
initCacheMutex_256 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_256_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_256_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -91837,8 +91845,10 @@ static THREAD_LS_T int sp_cache_384_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_384_inited = 0;
|
static THREAD_LS_T int sp_cache_384_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_384 = 0;
|
static volatile int initCacheMutex_384 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_384_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_384_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_384_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -91936,10 +91946,12 @@ static int sp_384_ecc_mulmod_12(sp_point_384* r, const sp_point_384* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_384 == 0) {
|
if (initCacheMutex_384 == 0) {
|
||||||
wc_InitMutex(&sp_cache_384_lock);
|
wc_InitMutex(&sp_cache_384_lock);
|
||||||
initCacheMutex_384 = 1;
|
initCacheMutex_384 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_384_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_384_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -92273,8 +92285,10 @@ static THREAD_LS_T int sp_cache_384_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_384_inited = 0;
|
static THREAD_LS_T int sp_cache_384_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_384 = 0;
|
static volatile int initCacheMutex_384 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_384_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_384_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_384_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -92372,10 +92386,12 @@ static int sp_384_ecc_mulmod_12(sp_point_384* r, const sp_point_384* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_384 == 0) {
|
if (initCacheMutex_384 == 0) {
|
||||||
wc_InitMutex(&sp_cache_384_lock);
|
wc_InitMutex(&sp_cache_384_lock);
|
||||||
initCacheMutex_384 = 1;
|
initCacheMutex_384 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_384_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_384_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -119032,8 +119048,10 @@ static THREAD_LS_T int sp_cache_521_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_521_inited = 0;
|
static THREAD_LS_T int sp_cache_521_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_521 = 0;
|
static volatile int initCacheMutex_521 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_521_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_521_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_521_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -119131,10 +119149,12 @@ static int sp_521_ecc_mulmod_17(sp_point_521* r, const sp_point_521* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_521 == 0) {
|
if (initCacheMutex_521 == 0) {
|
||||||
wc_InitMutex(&sp_cache_521_lock);
|
wc_InitMutex(&sp_cache_521_lock);
|
||||||
initCacheMutex_521 = 1;
|
initCacheMutex_521 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_521_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_521_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -119488,8 +119508,10 @@ static THREAD_LS_T int sp_cache_521_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_521_inited = 0;
|
static THREAD_LS_T int sp_cache_521_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_521 = 0;
|
static volatile int initCacheMutex_521 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_521_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_521_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_521_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -119587,10 +119609,12 @@ static int sp_521_ecc_mulmod_17(sp_point_521* r, const sp_point_521* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_521 == 0) {
|
if (initCacheMutex_521 == 0) {
|
||||||
wc_InitMutex(&sp_cache_521_lock);
|
wc_InitMutex(&sp_cache_521_lock);
|
||||||
initCacheMutex_521 = 1;
|
initCacheMutex_521 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_521_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_521_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -148716,8 +148740,10 @@ static THREAD_LS_T int sp_cache_1024_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_1024_inited = 0;
|
static THREAD_LS_T int sp_cache_1024_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_1024 = 0;
|
static volatile int initCacheMutex_1024 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_1024_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_1024_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_1024_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -148815,10 +148841,12 @@ static int sp_1024_ecc_mulmod_32(sp_point_1024* r, const sp_point_1024* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_1024 == 0) {
|
if (initCacheMutex_1024 == 0) {
|
||||||
wc_InitMutex(&sp_cache_1024_lock);
|
wc_InitMutex(&sp_cache_1024_lock);
|
||||||
initCacheMutex_1024 = 1;
|
initCacheMutex_1024 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_1024_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_1024_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -149071,8 +149099,10 @@ static THREAD_LS_T int sp_cache_1024_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_1024_inited = 0;
|
static THREAD_LS_T int sp_cache_1024_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_1024 = 0;
|
static volatile int initCacheMutex_1024 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_1024_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_1024_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_1024_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -149170,10 +149200,12 @@ static int sp_1024_ecc_mulmod_32(sp_point_1024* r, const sp_point_1024* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_1024 == 0) {
|
if (initCacheMutex_1024 == 0) {
|
||||||
wc_InitMutex(&sp_cache_1024_lock);
|
wc_InitMutex(&sp_cache_1024_lock);
|
||||||
initCacheMutex_1024 = 1;
|
initCacheMutex_1024 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_1024_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_1024_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
|
@@ -24939,8 +24939,10 @@ static THREAD_LS_T int sp_cache_256_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_256_inited = 0;
|
static THREAD_LS_T int sp_cache_256_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_256 = 0;
|
static volatile int initCacheMutex_256 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_256_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_256_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_256_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -25038,10 +25040,12 @@ static int sp_256_ecc_mulmod_4(sp_point_256* r, const sp_point_256* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_256 == 0) {
|
if (initCacheMutex_256 == 0) {
|
||||||
wc_InitMutex(&sp_cache_256_lock);
|
wc_InitMutex(&sp_cache_256_lock);
|
||||||
initCacheMutex_256 = 1;
|
initCacheMutex_256 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_256_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_256_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -25368,8 +25372,10 @@ static THREAD_LS_T int sp_cache_256_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_256_inited = 0;
|
static THREAD_LS_T int sp_cache_256_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_256 = 0;
|
static volatile int initCacheMutex_256 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_256_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_256_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_256_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -25467,10 +25473,12 @@ static int sp_256_ecc_mulmod_4(sp_point_256* r, const sp_point_256* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_256 == 0) {
|
if (initCacheMutex_256 == 0) {
|
||||||
wc_InitMutex(&sp_cache_256_lock);
|
wc_InitMutex(&sp_cache_256_lock);
|
||||||
initCacheMutex_256 = 1;
|
initCacheMutex_256 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_256_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_256_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -45888,8 +45896,10 @@ static THREAD_LS_T int sp_cache_384_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_384_inited = 0;
|
static THREAD_LS_T int sp_cache_384_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_384 = 0;
|
static volatile int initCacheMutex_384 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_384_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_384_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_384_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -45987,10 +45997,12 @@ static int sp_384_ecc_mulmod_6(sp_point_384* r, const sp_point_384* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_384 == 0) {
|
if (initCacheMutex_384 == 0) {
|
||||||
wc_InitMutex(&sp_cache_384_lock);
|
wc_InitMutex(&sp_cache_384_lock);
|
||||||
initCacheMutex_384 = 1;
|
initCacheMutex_384 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_384_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_384_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -46317,8 +46329,10 @@ static THREAD_LS_T int sp_cache_384_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_384_inited = 0;
|
static THREAD_LS_T int sp_cache_384_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_384 = 0;
|
static volatile int initCacheMutex_384 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_384_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_384_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_384_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -46416,10 +46430,12 @@ static int sp_384_ecc_mulmod_6(sp_point_384* r, const sp_point_384* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_384 == 0) {
|
if (initCacheMutex_384 == 0) {
|
||||||
wc_InitMutex(&sp_cache_384_lock);
|
wc_InitMutex(&sp_cache_384_lock);
|
||||||
initCacheMutex_384 = 1;
|
initCacheMutex_384 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_384_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_384_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -74312,8 +74328,10 @@ static THREAD_LS_T int sp_cache_521_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_521_inited = 0;
|
static THREAD_LS_T int sp_cache_521_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_521 = 0;
|
static volatile int initCacheMutex_521 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_521_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_521_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_521_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -74411,10 +74429,12 @@ static int sp_521_ecc_mulmod_9(sp_point_521* r, const sp_point_521* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_521 == 0) {
|
if (initCacheMutex_521 == 0) {
|
||||||
wc_InitMutex(&sp_cache_521_lock);
|
wc_InitMutex(&sp_cache_521_lock);
|
||||||
initCacheMutex_521 = 1;
|
initCacheMutex_521 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_521_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_521_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -74759,8 +74779,10 @@ static THREAD_LS_T int sp_cache_521_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_521_inited = 0;
|
static THREAD_LS_T int sp_cache_521_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_521 = 0;
|
static volatile int initCacheMutex_521 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_521_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_521_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_521_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -74858,10 +74880,12 @@ static int sp_521_ecc_mulmod_9(sp_point_521* r, const sp_point_521* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_521 == 0) {
|
if (initCacheMutex_521 == 0) {
|
||||||
wc_InitMutex(&sp_cache_521_lock);
|
wc_InitMutex(&sp_cache_521_lock);
|
||||||
initCacheMutex_521 = 1;
|
initCacheMutex_521 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_521_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_521_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -118234,8 +118258,10 @@ static THREAD_LS_T int sp_cache_1024_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_1024_inited = 0;
|
static THREAD_LS_T int sp_cache_1024_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_1024 = 0;
|
static volatile int initCacheMutex_1024 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_1024_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_1024_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_1024_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -118333,10 +118359,12 @@ static int sp_1024_ecc_mulmod_16(sp_point_1024* r, const sp_point_1024* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_1024 == 0) {
|
if (initCacheMutex_1024 == 0) {
|
||||||
wc_InitMutex(&sp_cache_1024_lock);
|
wc_InitMutex(&sp_cache_1024_lock);
|
||||||
initCacheMutex_1024 = 1;
|
initCacheMutex_1024 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_1024_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_1024_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
|
@@ -101578,8 +101578,10 @@ static THREAD_LS_T int sp_cache_256_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_256_inited = 0;
|
static THREAD_LS_T int sp_cache_256_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_256 = 0;
|
static volatile int initCacheMutex_256 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_256_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_256_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_256_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -101677,10 +101679,12 @@ static int sp_256_ecc_mulmod_8(sp_point_256* r, const sp_point_256* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_256 == 0) {
|
if (initCacheMutex_256 == 0) {
|
||||||
wc_InitMutex(&sp_cache_256_lock);
|
wc_InitMutex(&sp_cache_256_lock);
|
||||||
initCacheMutex_256 = 1;
|
initCacheMutex_256 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_256_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_256_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -101998,8 +102002,10 @@ static THREAD_LS_T int sp_cache_256_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_256_inited = 0;
|
static THREAD_LS_T int sp_cache_256_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_256 = 0;
|
static volatile int initCacheMutex_256 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_256_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_256_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_256_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -102097,10 +102103,12 @@ static int sp_256_ecc_mulmod_8(sp_point_256* r, const sp_point_256* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_256 == 0) {
|
if (initCacheMutex_256 == 0) {
|
||||||
wc_InitMutex(&sp_cache_256_lock);
|
wc_InitMutex(&sp_cache_256_lock);
|
||||||
initCacheMutex_256 = 1;
|
initCacheMutex_256 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_256_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_256_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -112446,8 +112454,10 @@ static THREAD_LS_T int sp_cache_384_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_384_inited = 0;
|
static THREAD_LS_T int sp_cache_384_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_384 = 0;
|
static volatile int initCacheMutex_384 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_384_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_384_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_384_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -112545,10 +112555,12 @@ static int sp_384_ecc_mulmod_12(sp_point_384* r, const sp_point_384* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_384 == 0) {
|
if (initCacheMutex_384 == 0) {
|
||||||
wc_InitMutex(&sp_cache_384_lock);
|
wc_InitMutex(&sp_cache_384_lock);
|
||||||
initCacheMutex_384 = 1;
|
initCacheMutex_384 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_384_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_384_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -112882,8 +112894,10 @@ static THREAD_LS_T int sp_cache_384_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_384_inited = 0;
|
static THREAD_LS_T int sp_cache_384_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_384 = 0;
|
static volatile int initCacheMutex_384 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_384_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_384_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_384_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -112981,10 +112995,12 @@ static int sp_384_ecc_mulmod_12(sp_point_384* r, const sp_point_384* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_384 == 0) {
|
if (initCacheMutex_384 == 0) {
|
||||||
wc_InitMutex(&sp_cache_384_lock);
|
wc_InitMutex(&sp_cache_384_lock);
|
||||||
initCacheMutex_384 = 1;
|
initCacheMutex_384 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_384_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_384_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -126089,8 +126105,10 @@ static THREAD_LS_T int sp_cache_521_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_521_inited = 0;
|
static THREAD_LS_T int sp_cache_521_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_521 = 0;
|
static volatile int initCacheMutex_521 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_521_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_521_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_521_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -126188,10 +126206,12 @@ static int sp_521_ecc_mulmod_17(sp_point_521* r, const sp_point_521* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_521 == 0) {
|
if (initCacheMutex_521 == 0) {
|
||||||
wc_InitMutex(&sp_cache_521_lock);
|
wc_InitMutex(&sp_cache_521_lock);
|
||||||
initCacheMutex_521 = 1;
|
initCacheMutex_521 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_521_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_521_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -126545,8 +126565,10 @@ static THREAD_LS_T int sp_cache_521_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_521_inited = 0;
|
static THREAD_LS_T int sp_cache_521_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_521 = 0;
|
static volatile int initCacheMutex_521 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_521_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_521_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_521_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -126644,10 +126666,12 @@ static int sp_521_ecc_mulmod_17(sp_point_521* r, const sp_point_521* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_521 == 0) {
|
if (initCacheMutex_521 == 0) {
|
||||||
wc_InitMutex(&sp_cache_521_lock);
|
wc_InitMutex(&sp_cache_521_lock);
|
||||||
initCacheMutex_521 = 1;
|
initCacheMutex_521 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_521_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_521_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -210707,8 +210731,10 @@ static THREAD_LS_T int sp_cache_1024_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_1024_inited = 0;
|
static THREAD_LS_T int sp_cache_1024_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_1024 = 0;
|
static volatile int initCacheMutex_1024 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_1024_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_1024_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_1024_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -210806,10 +210832,12 @@ static int sp_1024_ecc_mulmod_32(sp_point_1024* r, const sp_point_1024* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_1024 == 0) {
|
if (initCacheMutex_1024 == 0) {
|
||||||
wc_InitMutex(&sp_cache_1024_lock);
|
wc_InitMutex(&sp_cache_1024_lock);
|
||||||
initCacheMutex_1024 = 1;
|
initCacheMutex_1024 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_1024_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_1024_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -211062,8 +211090,10 @@ static THREAD_LS_T int sp_cache_1024_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_1024_inited = 0;
|
static THREAD_LS_T int sp_cache_1024_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_1024 = 0;
|
static volatile int initCacheMutex_1024 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_1024_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_1024_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_1024_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -211161,10 +211191,12 @@ static int sp_1024_ecc_mulmod_32(sp_point_1024* r, const sp_point_1024* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_1024 == 0) {
|
if (initCacheMutex_1024 == 0) {
|
||||||
wc_InitMutex(&sp_cache_1024_lock);
|
wc_InitMutex(&sp_cache_1024_lock);
|
||||||
initCacheMutex_1024 = 1;
|
initCacheMutex_1024 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_1024_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_1024_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
|
@@ -23120,8 +23120,10 @@ static THREAD_LS_T int sp_cache_256_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_256_inited = 0;
|
static THREAD_LS_T int sp_cache_256_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_256 = 0;
|
static volatile int initCacheMutex_256 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_256_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_256_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_256_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -23219,10 +23221,12 @@ static int sp_256_ecc_mulmod_9(sp_point_256* r, const sp_point_256* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_256 == 0) {
|
if (initCacheMutex_256 == 0) {
|
||||||
wc_InitMutex(&sp_cache_256_lock);
|
wc_InitMutex(&sp_cache_256_lock);
|
||||||
initCacheMutex_256 = 1;
|
initCacheMutex_256 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_256_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_256_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -30674,8 +30678,10 @@ static THREAD_LS_T int sp_cache_384_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_384_inited = 0;
|
static THREAD_LS_T int sp_cache_384_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_384 = 0;
|
static volatile int initCacheMutex_384 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_384_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_384_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_384_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -30773,10 +30779,12 @@ static int sp_384_ecc_mulmod_15(sp_point_384* r, const sp_point_384* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_384 == 0) {
|
if (initCacheMutex_384 == 0) {
|
||||||
wc_InitMutex(&sp_cache_384_lock);
|
wc_InitMutex(&sp_cache_384_lock);
|
||||||
initCacheMutex_384 = 1;
|
initCacheMutex_384 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_384_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_384_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -38277,8 +38285,10 @@ static THREAD_LS_T int sp_cache_521_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_521_inited = 0;
|
static THREAD_LS_T int sp_cache_521_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_521 = 0;
|
static volatile int initCacheMutex_521 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_521_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_521_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_521_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -38376,10 +38386,12 @@ static int sp_521_ecc_mulmod_21(sp_point_521* r, const sp_point_521* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_521 == 0) {
|
if (initCacheMutex_521 == 0) {
|
||||||
wc_InitMutex(&sp_cache_521_lock);
|
wc_InitMutex(&sp_cache_521_lock);
|
||||||
initCacheMutex_521 = 1;
|
initCacheMutex_521 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_521_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_521_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -46862,8 +46874,10 @@ static THREAD_LS_T int sp_cache_1024_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_1024_inited = 0;
|
static THREAD_LS_T int sp_cache_1024_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_1024 = 0;
|
static volatile int initCacheMutex_1024 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_1024_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_1024_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_1024_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -46961,10 +46975,12 @@ static int sp_1024_ecc_mulmod_42(sp_point_1024* r, const sp_point_1024* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_1024 == 0) {
|
if (initCacheMutex_1024 == 0) {
|
||||||
wc_InitMutex(&sp_cache_1024_lock);
|
wc_InitMutex(&sp_cache_1024_lock);
|
||||||
initCacheMutex_1024 = 1;
|
initCacheMutex_1024 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_1024_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_1024_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
|
@@ -24027,8 +24027,10 @@ static THREAD_LS_T int sp_cache_256_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_256_inited = 0;
|
static THREAD_LS_T int sp_cache_256_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_256 = 0;
|
static volatile int initCacheMutex_256 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_256_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_256_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_256_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -24126,10 +24128,12 @@ static int sp_256_ecc_mulmod_5(sp_point_256* r, const sp_point_256* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_256 == 0) {
|
if (initCacheMutex_256 == 0) {
|
||||||
wc_InitMutex(&sp_cache_256_lock);
|
wc_InitMutex(&sp_cache_256_lock);
|
||||||
initCacheMutex_256 = 1;
|
initCacheMutex_256 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_256_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_256_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -31008,8 +31012,10 @@ static THREAD_LS_T int sp_cache_384_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_384_inited = 0;
|
static THREAD_LS_T int sp_cache_384_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_384 = 0;
|
static volatile int initCacheMutex_384 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_384_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_384_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_384_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -31107,10 +31113,12 @@ static int sp_384_ecc_mulmod_7(sp_point_384* r, const sp_point_384* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_384 == 0) {
|
if (initCacheMutex_384 == 0) {
|
||||||
wc_InitMutex(&sp_cache_384_lock);
|
wc_InitMutex(&sp_cache_384_lock);
|
||||||
initCacheMutex_384 = 1;
|
initCacheMutex_384 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_384_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_384_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -38449,8 +38457,10 @@ static THREAD_LS_T int sp_cache_521_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_521_inited = 0;
|
static THREAD_LS_T int sp_cache_521_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_521 = 0;
|
static volatile int initCacheMutex_521 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_521_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_521_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_521_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -38548,10 +38558,12 @@ static int sp_521_ecc_mulmod_9(sp_point_521* r, const sp_point_521* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_521 == 0) {
|
if (initCacheMutex_521 == 0) {
|
||||||
wc_InitMutex(&sp_cache_521_lock);
|
wc_InitMutex(&sp_cache_521_lock);
|
||||||
initCacheMutex_521 = 1;
|
initCacheMutex_521 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_521_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_521_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -46216,8 +46228,10 @@ static THREAD_LS_T int sp_cache_1024_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_1024_inited = 0;
|
static THREAD_LS_T int sp_cache_1024_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_1024 = 0;
|
static volatile int initCacheMutex_1024 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_1024_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_1024_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_1024_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -46315,10 +46329,12 @@ static int sp_1024_ecc_mulmod_18(sp_point_1024* r, const sp_point_1024* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_1024 == 0) {
|
if (initCacheMutex_1024 == 0) {
|
||||||
wc_InitMutex(&sp_cache_1024_lock);
|
wc_InitMutex(&sp_cache_1024_lock);
|
||||||
initCacheMutex_1024 = 1;
|
initCacheMutex_1024 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_1024_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_1024_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
|
@@ -36403,8 +36403,10 @@ static THREAD_LS_T int sp_cache_256_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_256_inited = 0;
|
static THREAD_LS_T int sp_cache_256_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_256 = 0;
|
static volatile int initCacheMutex_256 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_256_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_256_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_256_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -36502,10 +36504,12 @@ static int sp_256_ecc_mulmod_8(sp_point_256* r, const sp_point_256* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_256 == 0) {
|
if (initCacheMutex_256 == 0) {
|
||||||
wc_InitMutex(&sp_cache_256_lock);
|
wc_InitMutex(&sp_cache_256_lock);
|
||||||
initCacheMutex_256 = 1;
|
initCacheMutex_256 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_256_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_256_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -36823,8 +36827,10 @@ static THREAD_LS_T int sp_cache_256_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_256_inited = 0;
|
static THREAD_LS_T int sp_cache_256_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_256 = 0;
|
static volatile int initCacheMutex_256 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_256_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_256_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_256_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -36922,10 +36928,12 @@ static int sp_256_ecc_mulmod_8(sp_point_256* r, const sp_point_256* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_256 == 0) {
|
if (initCacheMutex_256 == 0) {
|
||||||
wc_InitMutex(&sp_cache_256_lock);
|
wc_InitMutex(&sp_cache_256_lock);
|
||||||
initCacheMutex_256 = 1;
|
initCacheMutex_256 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_256_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_256_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -46272,8 +46280,10 @@ static THREAD_LS_T int sp_cache_384_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_384_inited = 0;
|
static THREAD_LS_T int sp_cache_384_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_384 = 0;
|
static volatile int initCacheMutex_384 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_384_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_384_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_384_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -46371,10 +46381,12 @@ static int sp_384_ecc_mulmod_12(sp_point_384* r, const sp_point_384* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_384 == 0) {
|
if (initCacheMutex_384 == 0) {
|
||||||
wc_InitMutex(&sp_cache_384_lock);
|
wc_InitMutex(&sp_cache_384_lock);
|
||||||
initCacheMutex_384 = 1;
|
initCacheMutex_384 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_384_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_384_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -46708,8 +46720,10 @@ static THREAD_LS_T int sp_cache_384_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_384_inited = 0;
|
static THREAD_LS_T int sp_cache_384_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_384 = 0;
|
static volatile int initCacheMutex_384 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_384_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_384_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_384_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -46807,10 +46821,12 @@ static int sp_384_ecc_mulmod_12(sp_point_384* r, const sp_point_384* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_384 == 0) {
|
if (initCacheMutex_384 == 0) {
|
||||||
wc_InitMutex(&sp_cache_384_lock);
|
wc_InitMutex(&sp_cache_384_lock);
|
||||||
initCacheMutex_384 = 1;
|
initCacheMutex_384 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_384_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_384_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -58262,8 +58278,10 @@ static THREAD_LS_T int sp_cache_521_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_521_inited = 0;
|
static THREAD_LS_T int sp_cache_521_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_521 = 0;
|
static volatile int initCacheMutex_521 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_521_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_521_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_521_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -58361,10 +58379,12 @@ static int sp_521_ecc_mulmod_17(sp_point_521* r, const sp_point_521* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_521 == 0) {
|
if (initCacheMutex_521 == 0) {
|
||||||
wc_InitMutex(&sp_cache_521_lock);
|
wc_InitMutex(&sp_cache_521_lock);
|
||||||
initCacheMutex_521 = 1;
|
initCacheMutex_521 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_521_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_521_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -58718,8 +58738,10 @@ static THREAD_LS_T int sp_cache_521_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_521_inited = 0;
|
static THREAD_LS_T int sp_cache_521_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_521 = 0;
|
static volatile int initCacheMutex_521 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_521_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_521_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_521_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -58817,10 +58839,12 @@ static int sp_521_ecc_mulmod_17(sp_point_521* r, const sp_point_521* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_521 == 0) {
|
if (initCacheMutex_521 == 0) {
|
||||||
wc_InitMutex(&sp_cache_521_lock);
|
wc_InitMutex(&sp_cache_521_lock);
|
||||||
initCacheMutex_521 = 1;
|
initCacheMutex_521 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_521_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_521_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -72587,8 +72611,10 @@ static THREAD_LS_T int sp_cache_1024_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_1024_inited = 0;
|
static THREAD_LS_T int sp_cache_1024_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_1024 = 0;
|
static volatile int initCacheMutex_1024 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_1024_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_1024_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_1024_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -72686,10 +72712,12 @@ static int sp_1024_ecc_mulmod_32(sp_point_1024* r, const sp_point_1024* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_1024 == 0) {
|
if (initCacheMutex_1024 == 0) {
|
||||||
wc_InitMutex(&sp_cache_1024_lock);
|
wc_InitMutex(&sp_cache_1024_lock);
|
||||||
initCacheMutex_1024 = 1;
|
initCacheMutex_1024 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_1024_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_1024_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -72942,8 +72970,10 @@ static THREAD_LS_T int sp_cache_1024_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_1024_inited = 0;
|
static THREAD_LS_T int sp_cache_1024_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_1024 = 0;
|
static volatile int initCacheMutex_1024 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_1024_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_1024_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_1024_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -73041,10 +73071,12 @@ static int sp_1024_ecc_mulmod_32(sp_point_1024* r, const sp_point_1024* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_1024 == 0) {
|
if (initCacheMutex_1024 == 0) {
|
||||||
wc_InitMutex(&sp_cache_1024_lock);
|
wc_InitMutex(&sp_cache_1024_lock);
|
||||||
initCacheMutex_1024 = 1;
|
initCacheMutex_1024 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_1024_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_1024_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
|
@@ -2620,8 +2620,10 @@ static THREAD_LS_T int sp_cache_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_inited = 0;
|
static THREAD_LS_T int sp_cache_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
static wolfSSL_Mutex sp_cache_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_lock);
|
||||||
|
#ifdef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex = 0;
|
static volatile int initCacheMutex = 0;
|
||||||
static wolfSSL_Mutex sp_cache_lock;
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void sp_ecc_get_cache(const sp_point* g, sp_cache_t** cache)
|
static void sp_ecc_get_cache(const sp_point* g, sp_cache_t** cache)
|
||||||
@@ -2701,10 +2703,12 @@ static int sp_256_ecc_mulmod_10(sp_point* r, const sp_point* g, const sp_digit*
|
|||||||
int err = MP_OKAY;
|
int err = MP_OKAY;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex == 0) {
|
if (initCacheMutex == 0) {
|
||||||
wc_InitMutex(&sp_cache_lock);
|
wc_InitMutex(&sp_cache_lock);
|
||||||
initCacheMutex = 1;
|
initCacheMutex = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_lock) != 0)
|
if (wc_LockMutex(&sp_cache_lock) != 0)
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
#endif /* HAVE_THREAD_LS */
|
#endif /* HAVE_THREAD_LS */
|
||||||
|
@@ -10979,8 +10979,10 @@ static THREAD_LS_T int sp_cache_256_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_256_inited = 0;
|
static THREAD_LS_T int sp_cache_256_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_256 = 0;
|
static volatile int initCacheMutex_256 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_256_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_256_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_256_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -11078,10 +11080,12 @@ static int sp_256_ecc_mulmod_4(sp_point_256* r, const sp_point_256* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_256 == 0) {
|
if (initCacheMutex_256 == 0) {
|
||||||
wc_InitMutex(&sp_cache_256_lock);
|
wc_InitMutex(&sp_cache_256_lock);
|
||||||
initCacheMutex_256 = 1;
|
initCacheMutex_256 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_256_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_256_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -11459,10 +11463,12 @@ static int sp_256_ecc_mulmod_avx2_4(sp_point_256* r, const sp_point_256* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_256 == 0) {
|
if (initCacheMutex_256 == 0) {
|
||||||
wc_InitMutex(&sp_cache_256_lock);
|
wc_InitMutex(&sp_cache_256_lock);
|
||||||
initCacheMutex_256 = 1;
|
initCacheMutex_256 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_256_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_256_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -30167,8 +30173,10 @@ static THREAD_LS_T int sp_cache_384_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_384_inited = 0;
|
static THREAD_LS_T int sp_cache_384_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_384 = 0;
|
static volatile int initCacheMutex_384 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_384_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_384_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_384_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -30266,10 +30274,12 @@ static int sp_384_ecc_mulmod_6(sp_point_384* r, const sp_point_384* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_384 == 0) {
|
if (initCacheMutex_384 == 0) {
|
||||||
wc_InitMutex(&sp_cache_384_lock);
|
wc_InitMutex(&sp_cache_384_lock);
|
||||||
initCacheMutex_384 = 1;
|
initCacheMutex_384 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_384_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_384_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -30650,10 +30660,12 @@ static int sp_384_ecc_mulmod_avx2_6(sp_point_384* r, const sp_point_384* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_384 == 0) {
|
if (initCacheMutex_384 == 0) {
|
||||||
wc_InitMutex(&sp_cache_384_lock);
|
wc_InitMutex(&sp_cache_384_lock);
|
||||||
initCacheMutex_384 = 1;
|
initCacheMutex_384 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_384_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_384_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -55045,8 +55057,10 @@ static THREAD_LS_T int sp_cache_521_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_521_inited = 0;
|
static THREAD_LS_T int sp_cache_521_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_521 = 0;
|
static volatile int initCacheMutex_521 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_521_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_521_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_521_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -55144,10 +55158,12 @@ static int sp_521_ecc_mulmod_9(sp_point_521* r, const sp_point_521* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_521 == 0) {
|
if (initCacheMutex_521 == 0) {
|
||||||
wc_InitMutex(&sp_cache_521_lock);
|
wc_InitMutex(&sp_cache_521_lock);
|
||||||
initCacheMutex_521 = 1;
|
initCacheMutex_521 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_521_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_521_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -55528,10 +55544,12 @@ static int sp_521_ecc_mulmod_avx2_9(sp_point_521* r, const sp_point_521* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_521 == 0) {
|
if (initCacheMutex_521 == 0) {
|
||||||
wc_InitMutex(&sp_cache_521_lock);
|
wc_InitMutex(&sp_cache_521_lock);
|
||||||
initCacheMutex_521 = 1;
|
initCacheMutex_521 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_521_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_521_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -96245,8 +96263,10 @@ static THREAD_LS_T int sp_cache_1024_last = -1;
|
|||||||
static THREAD_LS_T int sp_cache_1024_inited = 0;
|
static THREAD_LS_T int sp_cache_1024_inited = 0;
|
||||||
|
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static volatile int initCacheMutex_1024 = 0;
|
static volatile int initCacheMutex_1024 = 0;
|
||||||
static wolfSSL_Mutex sp_cache_1024_lock;
|
#endif
|
||||||
|
static wolfSSL_Mutex sp_cache_1024_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_1024_lock);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the cache entry for the point.
|
/* Get the cache entry for the point.
|
||||||
@@ -96344,10 +96364,12 @@ static int sp_1024_ecc_mulmod_16(sp_point_1024* r, const sp_point_1024* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_1024 == 0) {
|
if (initCacheMutex_1024 == 0) {
|
||||||
wc_InitMutex(&sp_cache_1024_lock);
|
wc_InitMutex(&sp_cache_1024_lock);
|
||||||
initCacheMutex_1024 = 1;
|
initCacheMutex_1024 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_1024_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_1024_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
@@ -96711,10 +96733,12 @@ static int sp_1024_ecc_mulmod_avx2_16(sp_point_1024* r, const sp_point_1024* g,
|
|||||||
#endif
|
#endif
|
||||||
#ifndef HAVE_THREAD_LS
|
#ifndef HAVE_THREAD_LS
|
||||||
if (err == MP_OKAY) {
|
if (err == MP_OKAY) {
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (initCacheMutex_1024 == 0) {
|
if (initCacheMutex_1024 == 0) {
|
||||||
wc_InitMutex(&sp_cache_1024_lock);
|
wc_InitMutex(&sp_cache_1024_lock);
|
||||||
initCacheMutex_1024 = 1;
|
initCacheMutex_1024 = 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (wc_LockMutex(&sp_cache_1024_lock) != 0) {
|
if (wc_LockMutex(&sp_cache_1024_lock) != 0) {
|
||||||
err = BAD_MUTEX_E;
|
err = BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
|
@@ -38,7 +38,7 @@
|
|||||||
#include "rpcmem.h"
|
#include "rpcmem.h"
|
||||||
static wolfSSL_DSP_Handle_cb handle_function = NULL;
|
static wolfSSL_DSP_Handle_cb handle_function = NULL;
|
||||||
static remote_handle64 defaultHandle;
|
static remote_handle64 defaultHandle;
|
||||||
static wolfSSL_Mutex handle_mutex; /* mutex for access to single default handle */
|
static wolfSSL_Mutex handle_mutex WOLFSSL_MUTEX_INITIALIZER_CLAUSE(handle_mutex); /* mutex for access to single default handle */
|
||||||
|
|
||||||
#define WOLFSSL_HANDLE_DONE 1
|
#define WOLFSSL_HANDLE_DONE 1
|
||||||
#define WOLFSSL_HANDLE_GET 0
|
#define WOLFSSL_HANDLE_GET 0
|
||||||
@@ -95,11 +95,13 @@ int wolfSSL_InitHandle()
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
wolfSSL_SetHandleCb(default_handle_cb);
|
wolfSSL_SetHandleCb(default_handle_cb);
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
ret = wc_InitMutex(&handle_mutex);
|
ret = wc_InitMutex(&handle_mutex);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
WOLFSSL_MSG("Unable to init handle mutex");
|
WOLFSSL_MSG("Unable to init handle mutex");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -108,7 +110,9 @@ int wolfSSL_InitHandle()
|
|||||||
void wolfSSL_CleanupHandle()
|
void wolfSSL_CleanupHandle()
|
||||||
{
|
{
|
||||||
wolfSSL_close(defaultHandle);
|
wolfSSL_close(defaultHandle);
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
wc_FreeMutex(&handle_mutex);
|
wc_FreeMutex(&handle_mutex);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
#if defined(WOLFSSL_HAVE_SP_ECC)
|
#if defined(WOLFSSL_HAVE_SP_ECC)
|
||||||
|
|
||||||
|
@@ -1283,18 +1283,22 @@ void wolfSSL_RefDec(wolfSSL_Ref* ref, int* isZero, int* err)
|
|||||||
|
|
||||||
#if WOLFSSL_CRYPT_HW_MUTEX
|
#if WOLFSSL_CRYPT_HW_MUTEX
|
||||||
/* Mutex for protection of cryptography hardware */
|
/* Mutex for protection of cryptography hardware */
|
||||||
static wolfSSL_Mutex wcCryptHwMutex;
|
static wolfSSL_Mutex wcCryptHwMutex WOLFSSL_MUTEX_INITIALIZER_CLAUSE(wcCryptHwMutex);
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
static int wcCryptHwMutexInit = 0;
|
static int wcCryptHwMutexInit = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
int wolfSSL_CryptHwMutexInit(void)
|
int wolfSSL_CryptHwMutexInit(void)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
#ifndef WOLFSSL_MUTEX_INITIALIZER
|
||||||
if (wcCryptHwMutexInit == 0) {
|
if (wcCryptHwMutexInit == 0) {
|
||||||
ret = wc_InitMutex(&wcCryptHwMutex);
|
ret = wc_InitMutex(&wcCryptHwMutex);
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
wcCryptHwMutexInit = 1;
|
wcCryptHwMutexInit = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
int wolfSSL_CryptHwMutexLock(void)
|
int wolfSSL_CryptHwMutexLock(void)
|
||||||
|
@@ -244,7 +244,7 @@
|
|||||||
typedef pthread_rwlock_t wolfSSL_RwLock;
|
typedef pthread_rwlock_t wolfSSL_RwLock;
|
||||||
#endif
|
#endif
|
||||||
typedef pthread_mutex_t wolfSSL_Mutex;
|
typedef pthread_mutex_t wolfSSL_Mutex;
|
||||||
#define WOLFSSL_MUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER
|
#define WOLFSSL_MUTEX_INITIALIZER(lockname) PTHREAD_MUTEX_INITIALIZER
|
||||||
#elif defined(THREADX)
|
#elif defined(THREADX)
|
||||||
typedef TX_MUTEX wolfSSL_Mutex;
|
typedef TX_MUTEX wolfSSL_Mutex;
|
||||||
#elif defined(WOLFSSL_DEOS)
|
#elif defined(WOLFSSL_DEOS)
|
||||||
@@ -306,6 +306,13 @@
|
|||||||
#endif /* USE_WINDOWS_API */
|
#endif /* USE_WINDOWS_API */
|
||||||
|
|
||||||
#endif /* SINGLE_THREADED */
|
#endif /* SINGLE_THREADED */
|
||||||
|
|
||||||
|
#ifdef WOLFSSL_MUTEX_INITIALIZER
|
||||||
|
#define WOLFSSL_MUTEX_INITIALIZER_CLAUSE(lockname) = WOLFSSL_MUTEX_INITIALIZER(lockname)
|
||||||
|
#else
|
||||||
|
#define WOLFSSL_MUTEX_INITIALIZER_CLAUSE(lockname) /* null expansion */
|
||||||
|
#endif
|
||||||
|
|
||||||
#if !defined(WOLFSSL_USE_RWLOCK) || defined(SINGLE_THREADED)
|
#if !defined(WOLFSSL_USE_RWLOCK) || defined(SINGLE_THREADED)
|
||||||
typedef wolfSSL_Mutex wolfSSL_RwLock;
|
typedef wolfSSL_Mutex wolfSSL_RwLock;
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user