lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <9916203ec97be0f24886fc8478437d161b56f053.1585644000.git.lkml@sdf.org>
Date:   Tue, 31 Mar 2020 08:56:59 GMT
From:   George Spelvin <lkml@....org>
To:     "Theodore Ts'o" <tytso@....edu>
Cc:     Andy Lutomirski <luto@...nel.org>,
        Yangtao Li <tiny.windzz@...il.com>,
        linux-kernel@...r.kernel.org, lkml@....org
Subject: [PATCH 1/3] random: Further dead code elimination

Earlier commits left some dead code behind in credit_entropy_bits().

In particular, has_initialized was always zero.

Fixes: 90ea1c6436d2 ("random: remove the blocking pool")
Signed-off-by: George Spelvin <lkml@....org>
Cc: Andy Lutomirski <luto@...nel.org>
---
Just some odds & ends I noticed.

 drivers/char/random.c | 23 +++++------------------
 1 file changed, 5 insertions(+), 18 deletions(-)

diff --git a/drivers/char/random.c b/drivers/char/random.c
index c7f9584de2c8..273dcbb4a790 100644
--- a/drivers/char/random.c
+++ b/drivers/char/random.c
@@ -660,7 +660,7 @@ static void process_random_ready_list(void)
  */
 static void credit_entropy_bits(struct entropy_store *r, int nbits)
 {
-	int entropy_count, orig, has_initialized = 0;
+	int entropy_count, orig;
 	const int pool_size = r->poolinfo->poolfracbits;
 	int nfrac = nbits << ENTROPY_SHIFT;
 
@@ -717,24 +717,11 @@ static void credit_entropy_bits(struct entropy_store *r, int nbits)
 	if (cmpxchg(&r->entropy_count, orig, entropy_count) != orig)
 		goto retry;
 
-	if (has_initialized) {
-		r->initialized = 1;
-		kill_fasync(&fasync, SIGIO, POLL_IN);
-	}
+	entropy_count >>= ENTROPY_SHIFT;	/* Convert to bits */
+	trace_credit_entropy_bits(r->name, nbits, entropy_count, _RET_IP_);
 
-	trace_credit_entropy_bits(r->name, nbits,
-				  entropy_count >> ENTROPY_SHIFT, _RET_IP_);
-
-	if (r == &input_pool) {
-		int entropy_bits = entropy_count >> ENTROPY_SHIFT;
-
-		if (crng_init < 2) {
-			if (entropy_bits < 128)
-				return;
-			crng_reseed(&primary_crng, r);
-			entropy_bits = ENTROPY_BITS(r);
-		}
-	}
+	if (r == &input_pool && crng_init < 2 && entropy_count >= 128)
+		crng_reseed(&primary_crng, r);
 }
 
 static int credit_entropy_bits_safe(struct entropy_store *r, int nbits)
-- 
2.26.0

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ