 Add runtime fallback for GRND_INSECURE
 Add runtime fallback for GRND_INSECURE

The grndinsecure sysdep is only build-time tested and returns yes
if the kernel headers declare GRND_INSECURE. That is a problem
because the kernel headers are most likely provided by the toolchain
and do not reflect the exact capabilities of the run-time kernel.

If the run-time kernel doesn't support that option, getrandom()
fails. That made random_buf_early() busyloop.

To avoid that, we now fallback to random_devurandom() as an
implementation of random_buf_early() if getrandom() fails when
used with GRND_INSECURE. This adds a slight amount of overhead
to random_buf_early(), so it's probably better to just disable
the sysdep at build time if you're making binaries that will run
on older kernels.

Signed-off-by: Laurent Bercot <3aa9adbbb49a4d5ab9c798d5e366f54570870800@appnovation.com>

skarnet/skalibs,skarnet/skalibs