diff --git a/drivers/char/random.c b/drivers/char/random.c index e5b3d3ba46604f7c0bb5612f3da867ea16884d20..11c23ca57430295d399a76b74cbcdbb9643d5b3c 100644 --- a/drivers/char/random.c +++ b/drivers/char/random.c @@ -732,7 +732,7 @@ static void credit_entropy_bits(struct entropy_store *r, int nbits) static int credit_entropy_bits_safe(struct entropy_store *r, int nbits) { - const int nbits_max = (int)(~0U >> (ENTROPY_SHIFT + 1)); + const int nbits_max = r->poolinfo->poolwords * 32; if (nbits < 0) return -EINVAL;