• Jason A. Donenfeld's avatar
    random: quiet urandom warning ratelimit suppression message · c01d4d0a
    Jason A. Donenfeld authored
    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, cc1e127b ("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: 4e00b339 ("random: rate limit unseeded randomness warnings")
    Cc: stable@vger.kernel.org
    Reported-by: default avatarJon Hunter <jonathanh@nvidia.com>
    Reported-by: default avatarRon Economos <re@w6rz.net>
    Tested-by: default avatarRon Economos <re@w6rz.net>
    Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
    c01d4d0a
random.c 47.2 KB