Add GRND_INSECURE from Linux 5.6 to sys/random.h

Message ID alpine.DEB.2.21.2004032112060.11467@digraph.polyomino.org.uk
State Committed
Commit 319d2a7b60cc0d06bb5c29684c23475d41a7f8b7
Headers
Series Add GRND_INSECURE from Linux 5.6 to sys/random.h |

Commit Message

Joseph Myers April 3, 2020, 9:12 p.m. UTC
  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

Adhemerval Zanella April 7, 2020, 1:43 p.m. UTC | #1
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
>  
>
  

Patch

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