]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
random: ignore GRND_RANDOM in getentropy(2)
authorAndy Lutomirski <luto@kernel.org>
Mon, 23 Dec 2019 08:20:47 +0000 (00:20 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 25 Jun 2022 09:48:59 +0000 (11:48 +0200)
commit 48446f198f9adcb499b30332488dfd5bc3f176f6 upstream.

The separate blocking pool is going away.  Start by ignoring
GRND_RANDOM in getentropy(2).

This should not materially break any API.  Any code that worked
without this change should work at least as well with this change.

Signed-off-by: Andy Lutomirski <luto@kernel.org>
Link: https://lore.kernel.org/r/705c5a091b63cc5da70c99304bb97e0109be0a26.1577088521.git.luto@kernel.org
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/char/random.c
include/uapi/linux/random.h

index 518e29ba5e3c65c2a1fbcb00ce163d4f4169afe7..4b4905e44d4f36ebb0315934aa164565787b6e86 100644 (file)
@@ -2210,9 +2210,6 @@ SYSCALL_DEFINE3(getrandom, char __user *, buf, size_t, count,
        if (count > INT_MAX)
                count = INT_MAX;
 
-       if (flags & GRND_RANDOM)
-               return _random_read(flags & GRND_NONBLOCK, buf, count);
-
        if (!(flags & GRND_INSECURE) && !crng_ready()) {
                if (flags & GRND_NONBLOCK)
                        return -EAGAIN;
index c092d20088d3b4e156fe6be74bd492b3e3055ec3..dcc1b3e6106fe20de80d06d0c842fdb12fb561e2 100644 (file)
@@ -48,7 +48,7 @@ struct rand_pool_info {
  * Flags for getrandom(2)
  *
  * GRND_NONBLOCK       Don't block and return EAGAIN instead
- * GRND_RANDOM         Use the /dev/random pool instead of /dev/urandom
+ * GRND_RANDOM         No effect
  * GRND_INSECURE       Return non-cryptographic random bytes
  */
 #define GRND_NONBLOCK  0x0001