Home GnuPG

random: use getrandom() on Linux where available
842ff5f60cfaUnpublished

Unpublished Commit ยท Learn More

Not On Permanent Ref: This commit is not an ancestor of any permanent ref.

Description

random: use getrandom() on Linux where available

* random/rndlinux.c (_gcry_rndlinux_gather_random): use the
getrandom() syscall on Linux if it exists, regardless of what kind of
entropy was requested.

This change avoids the serious usability problem of unnecessary
blocking on /dev/random when the kernel's PRNG is already seeded,
without introducing the risk of pulling from an uninitialized PRNG.
It only has an effect on Linux systems with a functioning getrandom()
syscall. If that syscall is unavailable or fails, it should fall
through to the pre-existing behavior.

  • GnuPG-bug-id: T3894
  • Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>

Details

Provenance
dkgAuthored on Sep 5 2018, 4:34 PM
Parents
rC86e5e06a97ae: Add size optimized cipher block copy and xor functions
Branches
Unknown
Tags
Unknown
References
dkg/fix-T3894