]> git.baikalelectronics.ru Git - kernel.git/commit
random: quiet urandom warning ratelimit suppression message
authorJason A. Donenfeld <Jason@zx2c4.com>
Thu, 16 Jun 2022 13:00:51 +0000 (15:00 +0200)
committerJason A. Donenfeld <Jason@zx2c4.com>
Sun, 19 Jun 2022 21:50:46 +0000 (23:50 +0200)
commita52a45f77759d558cdf47e6f05ac871635a9ff37
tree36bb05511732d8e4260a1a26ccc707324c31113c
parent838895bfb253f45a0350da17ef0c2073a5b3d5cf
random: quiet urandom warning ratelimit suppression message

random.c ratelimits how much it warns about uninitialized urandom reads
using __ratelimit(). When the RNG is finally initialized, it prints the
number of missed messages due to ratelimiting.

It has been this way since that functionality was introduced back in
2018. Recently, 13cd7980484c ("random: remove ratelimiting for in-kernel
unseeded randomness") put a bit more stress on the urandom ratelimiting,
which teased out a bug in the implementation.

Specifically, when under pressure, __ratelimit() will print its own
message and reset the count back to 0, making the final message at the
end less useful. Secondly, it does so as a pr_warn(), which apparently
is undesirable for people's CI.

Fortunately, __ratelimit() has the RATELIMIT_MSG_ON_RELEASE flag exactly
for this purpose, so we set the flag.

Fixes: a0596dd97db5 ("random: rate limit unseeded randomness warnings")
Cc: stable@vger.kernel.org
Reported-by: Jon Hunter <jonathanh@nvidia.com>
Reported-by: Ron Economos <re@w6rz.net>
Tested-by: Ron Economos <re@w6rz.net>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
drivers/char/random.c
include/linux/ratelimit_types.h