Add GRND_INSECURE from Linux 5.6 to sys/random.h
Commit Message
This patch adds the GRND_INSECURE constant from Linux 5.6 to glibc's
sys/random.h. This is also added to the documentation. The constant
acts as a no-op for the Hurd implementation (as that doesn't check
whether the flags are known), which is semantically fine, while older
Linux kernels reject unknown flags with an EINVAL error.
Tested for x86_64.
Comments
On 03/04/2020 18:12, Joseph Myers wrote:
> This patch adds the GRND_INSECURE constant from Linux 5.6 to glibc's
> sys/random.h. This is also added to the documentation. The constant
> acts as a no-op for the Hurd implementation (as that doesn't check
> whether the flags are known), which is semantically fine, while older
> Linux kernels reject unknown flags with an EINVAL error.
>
> Tested for x86_64.
LGTM, it follows Linux commit 75551dbf112c9.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
>
> diff --git a/manual/crypt.texi b/manual/crypt.texi
> index c41b911c8f..af23dd7847 100644
> --- a/manual/crypt.texi
> +++ b/manual/crypt.texi
> @@ -301,6 +301,9 @@ booted and the randomness source has not yet been initialized.
> @item GRND_NONBLOCK
> Instead of blocking, return to the caller immediately if no data is
> available.
> +
> +@item GRND_INSECURE
> +Write random data that may not be cryptographically secure.
> @end table
>
> Unlike @code{getentropy}, the @code{getrandom} function is a
> diff --git a/stdlib/sys/random.h b/stdlib/sys/random.h
> index b351ef5c8c..1df6e9b844 100644
> --- a/stdlib/sys/random.h
> +++ b/stdlib/sys/random.h
> @@ -25,6 +25,7 @@
> /* Flags for use with getrandom. */
> #define GRND_NONBLOCK 0x01
> #define GRND_RANDOM 0x02
> +#define GRND_INSECURE 0x04
>
> __BEGIN_DECLS
>
>
@@ -301,6 +301,9 @@ booted and the randomness source has not yet been initialized.
@item GRND_NONBLOCK
Instead of blocking, return to the caller immediately if no data is
available.
+
+@item GRND_INSECURE
+Write random data that may not be cryptographically secure.
@end table
Unlike @code{getentropy}, the @code{getrandom} function is a
@@ -25,6 +25,7 @@
/* Flags for use with getrandom. */
#define GRND_NONBLOCK 0x01
#define GRND_RANDOM 0x02
+#define GRND_INSECURE 0x04
__BEGIN_DECLS