diff options
author | Dominik Brodowski <linux@dominikbrodowski.net> | 2022-01-24 21:29:49 +0100 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2022-02-05 05:10:49 +0100 |
commit | f41aa47c8bb40bcbad51fc368fe15f96406897cb (patch) | |
tree | 88e26dacbe858b4df985252b83eb25ba8ecf875e /drivers/char | |
parent | hwrng: core - use rng_fillbuf in add_early_randomness() (diff) | |
download | linux-f41aa47c8bb40bcbad51fc368fe15f96406897cb.tar.xz linux-f41aa47c8bb40bcbad51fc368fe15f96406897cb.zip |
hwrng: core - only set cur_rng_set_by_user if it is working
In case the user-specified rng device is not working, it is not used;
therefore cur_rng_set_by_user must not be set to 1.
Cc: Matt Mackall <mpm@selenic.com>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/char')
-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 89891ac87af0..9405fcdace38 100644 --- a/drivers/char/hw_random/core.c +++ b/drivers/char/hw_random/core.c @@ -335,8 +335,9 @@ static ssize_t rng_current_store(struct device *dev, } else { list_for_each_entry(rng, &rng_list, list) { if (sysfs_streq(rng->name, buf)) { - cur_rng_set_by_user = 1; err = set_current_rng(rng); + if (!err) + cur_rng_set_by_user = 1; break; } } |