From d41177937cea4aa1e9042ebcd195a349c40e8071 Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Mon, 10 Apr 2023 11:45:00 +0900 Subject: random: Use getrandom only when it's appropriate. * random/rndgetentropy.c (_gcry_rndgetentropy_gather_random) [GRND_RANDOM]: Conditionalize the use of getrandom, as it's not a portable function. -- Cherry-picked master commit of: fa21ddc158b5d7b5900856e5b131071302217a51 Fixes-commit: aab1d63e4def41593312f76de016c885ffafecde GnuPG-bug-id: 6442 Signed-off-by: NIIBE Yutaka --- random/rndgetentropy.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/random/rndgetentropy.c b/random/rndgetentropy.c index 513da0b9..a6f3c4ab 100644 --- a/random/rndgetentropy.c +++ b/random/rndgetentropy.c @@ -81,6 +81,7 @@ _gcry_rndgetentropy_gather_random (void (*add)(const void*, size_t, do { _gcry_pre_syscall (); +#ifdef GRND_RANDOM if (fips_mode ()) { /* DRBG chaining defined in SP 800-90A (rev 1) specify @@ -98,6 +99,7 @@ _gcry_rndgetentropy_gather_random (void (*add)(const void*, size_t, ret = getrandom (buffer, nbytes, GRND_RANDOM); } else +#endif { nbytes = length < sizeof (buffer) ? length : sizeof (buffer); ret = getentropy (buffer, nbytes); -- cgit v1.2.1