Since commit 43d8a72cd985 ("random: remove variable limit") all call
sites of extract_entropy() pass in zero for the 'reserved' argument
and the corresponding code in account() is effectively dead.

Remove it and the drop the now unused 'reserved' argument from
extract_entropy() as well as from account() called therefrom.

Signed-off-by: Nicolai Stange <nsta...@suse.de>
---
 drivers/char/random.c | 17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

diff --git a/drivers/char/random.c b/drivers/char/random.c
index 14c39608cc17..35e381be20fe 100644
--- a/drivers/char/random.c
+++ b/drivers/char/random.c
@@ -506,7 +506,7 @@ struct entropy_store {
 };
 
 static ssize_t extract_entropy(struct entropy_store *r, void *buf,
-                              size_t nbytes, int min, int rsvd);
+                              size_t nbytes, int min);
 static ssize_t _extract_entropy(struct entropy_store *r, void *buf,
                                size_t nbytes, int fips);
 
@@ -944,7 +944,7 @@ static void crng_reseed(struct crng_state *crng, struct 
entropy_store *r)
        } buf;
 
        if (r) {
-               num = extract_entropy(r, &buf, 32, 16, 0);
+               num = extract_entropy(r, &buf, 32, 16);
                if (num == 0)
                        return;
        } else {
@@ -1330,8 +1330,7 @@ EXPORT_SYMBOL_GPL(add_disk_randomness);
  * This function decides how many bytes to actually take from the
  * given pool, and also debits the entropy count accordingly.
  */
-static size_t account(struct entropy_store *r, size_t nbytes, int min,
-                     int reserved)
+static size_t account(struct entropy_store *r, size_t nbytes, int min)
 {
        int entropy_count, orig, have_bytes;
        size_t ibytes, nfrac;
@@ -1345,8 +1344,6 @@ static size_t account(struct entropy_store *r, size_t 
nbytes, int min,
        /* never pull more than available */
        have_bytes = entropy_count >> (ENTROPY_SHIFT + 3);
 
-       if ((have_bytes -= reserved) < 0)
-               have_bytes = 0;
        ibytes = min_t(size_t, ibytes, have_bytes);
        if (ibytes < min)
                ibytes = 0;
@@ -1469,12 +1466,10 @@ static ssize_t _extract_entropy(struct entropy_store 
*r, void *buf,
  * returns it in a buffer.
  *
  * The min parameter specifies the minimum amount we can pull before
- * failing to avoid races that defeat catastrophic reseeding while the
- * reserved parameter indicates how much entropy we must leave in the
- * pool after each pull to avoid starving other readers.
+ * failing to avoid races that defeat catastrophic reseeding.
  */
 static ssize_t extract_entropy(struct entropy_store *r, void *buf,
-                                size_t nbytes, int min, int reserved)
+                                size_t nbytes, int min)
 {
        __u8 tmp[EXTRACT_SIZE];
        unsigned long flags;
@@ -1495,7 +1490,7 @@ static ssize_t extract_entropy(struct entropy_store *r, 
void *buf,
        }
 
        trace_extract_entropy(r->name, nbytes, ENTROPY_BITS(r), _RET_IP_);
-       nbytes = account(r, nbytes, min, reserved);
+       nbytes = account(r, nbytes, min);
 
        return _extract_entropy(r, buf, nbytes, fips_enabled);
 }
-- 
2.26.2

Reply via email to