OSDN Git Service

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)
committerJason A. Donenfeld <Jason@zx2c4.com>
Mon, 21 Feb 2022 20:14:00 +0000 (21:14 +0100)
commit7191c628fe07b70d3f37de736d173d1b115396ed
tree158902b21e512d00d2f13d58367e8e37a1384e5b
parent7b5164fb1279bf0251371848e40bae646b59b3a8
random: fix locking for crng_init in crng_reseed()

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>
drivers/char/random.c