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>
Wed, 16 Feb 2022 23:01:55 +0000 (00:01 +0100)
commit051a81ede7cebdfd9d00743b6d8dec697ad71c5d
treebe3ae8bdb6b95fc0e2fc8ac8924325e25ca52a48
parentfbc31a3fcae2fa6e2a085d67dceb5cbd9530b048
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>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
drivers/char/random.c