[git] GCRYPT - branch, master, updated. libgcrypt-1.8.1-73-g355f5b7

by Will Dietz cvs at cvs.gnupg.org
Tue Jun 19 05:17:04 CEST 2018

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 at 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(-)

The GNU crypto library

Gnupg-commits mailing list
Gnupg-commits at gnupg.org

More information about the Gcrypt-devel mailing list