File gnutls-FIPS-jitterentropy-threadsafe.patch of Package gnutls.37572
--- gnutls-3.7.3/lib/nettle/sysrng-linux.c +++ gnutls-3.7.3/lib/nettle/sysrng-linux.c @@ -52,8 +52,9 @@ get_entropy_func _rnd_get_system_entropy # if defined(ENABLE_FIPS140) # define HAVE_JENT # include <jitterentropy.h> -static int jent_initialized = 0; -static struct rand_data* ec = NULL; +/* Per thread context of random generator, and a flag to indicate initialization */ +static _Thread_local struct rand_data* ec = NULL; +static _Thread_local int jent_initialized = 0; /* Declare function to fix a missing-prototypes compilation warning */ void FIPS_jent_entropy_deinit(void); # endif @@ -118,6 +119,8 @@ void FIPS_jent_entropy_deinit(void) ec = NULL; } + jent_initialized = 0; + return; }