Mailing List Archive

[git] GCRYPT - branch, master, updated. libgcrypt-1.8.1-73-g355f5b7
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "The GNU crypto library".

The branch, master has been updated
via 355f5b7f69075c010fe33aa5b10ac60c08fae0c7 (commit)
from 0d51ea9b88b618368a7b916f26ebfe61bdf70503 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 355f5b7f69075c010fe33aa5b10ac60c08fae0c7
Author: Will Dietz <w@wdtz.org>
Date: Sun Jun 17 18:53:58 2018 -0500

random: Fix hang of _gcry_rndjent_get_version.

* random/rndjent.c (_gcry_rndjent_get_version): Move locking.

--

While the protection for jent_rng_collector is needed,
_gcry_rndjent_poll is also acquiring the lock for the variable.
Thus, it hangs.

This change is sub-optimal, the lock is once released after the call
of _gcry_rndjent_poll. It might be good to modify the API of
_gcry_rndjent_poll to explicitly allow this use case of forcing
initialization keeping the lock.

Comments and change log entry by gniibe.

GnuPG-bug-id: 4034
Fixes-commit: 0de2a22fcf6607d0aecb550feefa414cee3731b2

diff --git a/random/rndjent.c b/random/rndjent.c
index 0c5a820..3740ddd 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;

-----------------------------------------------------------------------

Summary of changes:
random/rndjent.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)


hooks/post-receive
--
The GNU crypto library
http://git.gnupg.org


_______________________________________________
Gnupg-commits mailing list
Gnupg-commits@gnupg.org
http://lists.gnupg.org/mailman/listinfo/gnupg-commits


_______________________________________________
Gcrypt-devel mailing list
Gcrypt-devel@gnupg.org
http://lists.gnupg.org/mailman/listinfo/gcrypt-devel