nixpkgs/pkgs/development/libraries/libgcrypt/fix-jent-locking.patch
Will Dietz 7cfdb8950d libgcrypt: keep new lock behavior but only do so around collector access
Not around a function that itself will grab the rng lock.

Unfortunate that we obtain/release the lock twice
but this seems least invasive way to fix this.
2018-06-20 14:03:08 -05:00

30 lines
893 B
Diff

From bbe989be6ca5e093d5244413590bd80e12c2ec9b Mon Sep 17 00:00:00 2001
From: Will Dietz <w@wdtz.org>
Date: Sun, 17 Jun 2018 18:53:58 -0500
Subject: [PATCH] rndjent: move locking to fix trying to obtain held lock,
hanging
---
random/rndjent.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/random/rndjent.c b/random/rndjent.c
index 0c5a820b..3740ddd4 100644
--- a/random/rndjent.c
+++ b/random/rndjent.c
@@ -334,9 +334,10 @@ _gcry_rndjent_get_version (int *r_active)
{
if (r_active)
{
- lock_rng ();
/* Make sure the RNG is initialized. */
_gcry_rndjent_poll (NULL, 0, 0);
+
+ lock_rng ();
/* To ease debugging we store 2 for a clock_gettime based
* implementation and 1 for a rdtsc based code. */
*r_active = jent_rng_collector? is_rng_available () : 0;
--
2.18.0-rc2