From: Dominik Brodowski Date: Mon, 24 Jan 2022 20:29:49 +0000 (+0100) Subject: hwrng: core - only set cur_rng_set_by_user if it is working X-Git-Tag: v5.18-rc1~50^2~99 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=f41aa47c8bb40bcbad51fc368fe15f96406897cb;p=linux-block.git 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 Cc: Herbert Xu Cc: Jason A. Donenfeld Signed-off-by: Dominik Brodowski Signed-off-by: Herbert Xu --- 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; } }