| @@ -176,6 +176,12 @@ retry: | |||||
| #include <sys/random.h> | #include <sys/random.h> | ||||
| #endif | #endif | ||||
| /* Return best effort random data even if random pool is not yet | |||||
| * initialized. Available since Linux 5.6 */ | |||||
| #ifndef GRND_INSECURE | |||||
| #define GRND_INSECURE 0 | |||||
| #endif | |||||
| static int get_getrandom_seed(int *seed) | static int get_getrandom_seed(int *seed) | ||||
| { | { | ||||
| DEBUG_SEED("get_getrandom_seed"); | DEBUG_SEED("get_getrandom_seed"); | ||||
| @@ -184,7 +190,7 @@ static int get_getrandom_seed(int *seed) | |||||
| do | do | ||||
| { | { | ||||
| ret = getrandom(seed, sizeof(*seed), GRND_NONBLOCK); | |||||
| ret = getrandom(seed, sizeof(*seed), GRND_NONBLOCK | GRND_INSECURE); | |||||
| } while ((ret == -1) && (errno == EINTR)); | } while ((ret == -1) && (errno == EINTR)); | ||||
| if (ret == -1) | if (ret == -1) | ||||