diff options
author | Keith Packard <keithp@keithp.com> | 2015-03-18 03:17:00 -0400 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2015-03-18 06:01:31 -0400 |
commit | 506bf0c0464ace57169aadcf02ae397999c57bdd (patch) | |
tree | aee118b7cffedee93f827aa55dc7cb71f91d0e97 | |
parent | 7094e8ea4da3077ad03eb027fd45a7617dba3d95 (diff) |
hwrng: core - allow perfect entropy from hardware devices
Hardware random number quality is measured from 0 (no entropy) to 1024
(perfect entropy). Allow hardware devices to assert the full range by
truncating the device-provided value at 1024 instead of 1023.
Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r-- | drivers/char/hw_random/core.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/char/hw_random/core.c b/drivers/char/hw_random/core.c index 83161dde53ee..571ef61f8ea9 100644 --- a/drivers/char/hw_random/core.c +++ b/drivers/char/hw_random/core.c | |||
@@ -179,7 +179,8 @@ skip_init: | |||
179 | add_early_randomness(rng); | 179 | add_early_randomness(rng); |
180 | 180 | ||
181 | current_quality = rng->quality ? : default_quality; | 181 | current_quality = rng->quality ? : default_quality; |
182 | current_quality &= 1023; | 182 | if (current_quality > 1024) |
183 | current_quality = 1024; | ||
183 | 184 | ||
184 | if (current_quality == 0 && hwrng_fill) | 185 | if (current_quality == 0 && hwrng_fill) |
185 | kthread_stop(hwrng_fill); | 186 | kthread_stop(hwrng_fill); |