aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2015-03-18 03:17:00 -0400
committerHerbert Xu <herbert@gondor.apana.org.au>2015-03-18 06:01:31 -0400
commit506bf0c0464ace57169aadcf02ae397999c57bdd (patch)
treeaee118b7cffedee93f827aa55dc7cb71f91d0e97
parent7094e8ea4da3077ad03eb027fd45a7617dba3d95 (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.c3
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);