random: only wake up writers after zap if threshold was passed
authorJason A. Donenfeld <Jason@zx2c4.com>
Tue, 22 Feb 2022 13:01:57 +0000 (14:01 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 30 May 2022 07:27:09 +0000 (09:27 +0200)
commit14b565abce10f5e4afea62ba44e1bfb9504c83be
treeb557752f31511535ae1ccd576d497b4d033499bb
parent83b4dbb8cd5c9314d5fbdc6a6a94756c2fea343a
random: only wake up writers after zap if threshold was passed

commit a3f9e8910e1584d7725ef7d5ac870920d42d0bb4 upstream.

The only time that we need to wake up /dev/random writers on
RNDCLEARPOOL/RNDZAPPOOL is when we're changing from a value that is
greater than or equal to POOL_MIN_BITS to zero, because if we're
changing from below POOL_MIN_BITS to zero, the writers are already
unblocked.

Cc: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/char/random.c