summaryrefslogtreecommitdiff
path: root/crypto/rng.c
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/rng.c')
-rw-r--r--crypto/rng.c17
1 files changed, 6 insertions, 11 deletions
diff --git a/crypto/rng.c b/crypto/rng.c
index ee1768c5a400..c6165c8eb387 100644
--- a/crypto/rng.c
+++ b/crypto/rng.c
@@ -77,9 +77,8 @@ static int __maybe_unused crypto_rng_report(
return nla_put(skb, CRYPTOCFGA_REPORT_RNG, sizeof(rrng), &rrng);
}
-static void crypto_rng_show(struct seq_file *m, struct crypto_alg *alg)
- __maybe_unused;
-static void crypto_rng_show(struct seq_file *m, struct crypto_alg *alg)
+static void __maybe_unused crypto_rng_show(struct seq_file *m,
+ struct crypto_alg *alg)
{
seq_printf(m, "type : rng\n");
seq_printf(m, "seedsize : %u\n", seedsize(alg));
@@ -203,17 +202,13 @@ int crypto_register_rngs(struct rng_alg *algs, int count)
for (i = 0; i < count; i++) {
ret = crypto_register_rng(algs + i);
- if (ret)
- goto err;
+ if (ret) {
+ crypto_unregister_rngs(algs, i);
+ return ret;
+ }
}
return 0;
-
-err:
- for (--i; i >= 0; --i)
- crypto_unregister_rng(algs + i);
-
- return ret;
}
EXPORT_SYMBOL_GPL(crypto_register_rngs);