aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/hw_random/core.c
diff options
context:
space:
mode:
authorDominik Brodowski <linux@dominikbrodowski.net>2022-01-24 21:29:49 +0100
committerHerbert Xu <herbert@gondor.apana.org.au>2022-02-05 15:10:49 +1100
commitf41aa47c8bb40bcbad51fc368fe15f96406897cb (patch)
tree88e26dacbe858b4df985252b83eb25ba8ecf875e /drivers/char/hw_random/core.c
parentc05ac449442dd214e262057a3a49c368e224c384 (diff)
downloadlinux-f41aa47c8bb40bcbad51fc368fe15f96406897cb.tar.gz
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/hw_random/core.c')
-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 89891ac87af009..9405fcdace384a 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;
}
}