]> git.baikalelectronics.ru Git - kernel.git/commit
random: fix locking for crng_init in crng_reseed()
authorDominik Brodowski <linux@dominikbrodowski.net>
Wed, 9 Feb 2022 18:57:06 +0000 (19:57 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 30 May 2022 07:29:06 +0000 (09:29 +0200)
commit5880357a6886a0686f68f3213c687e59c407767c
tree6beaf47c857ea3f8f3d73dc8c65cff1745b6f4ac
parent5563fa77bbd47edbd2f902098950c582951ab38b
random: fix locking for crng_init in crng_reseed()

commit 6c1eeb80c8300144afdd79f114cd8b1f6be00024 upstream.

crng_init is protected by primary_crng->lock. Therefore, we need
to hold this lock when increasing crng_init to 2. As we shouldn't
hold this lock for too long, only hold it for those parts which
require protection.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Reviewed-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/char/random.c