summaryrefslogtreecommitdiff
path: root/crypto
diff options
context:
space:
mode:
authorThorsten Blum <thorsten.blum@linux.dev>2025-12-19 15:51:19 +0100
committerHerbert Xu <herbert@gondor.apana.org.au>2026-01-23 13:48:42 +0800
commitc29fcecaf8a9e92adb41d3e2b9d6af9b2e04a385 (patch)
tree2d56ab606cb3e25effda490b5c9a0845b11a0ac4 /crypto
parentbcc3b3c8ae49d00c8e6a4a7616ef74ef0b176daf (diff)
crypto: shash - Use unregister_shashes in register_shashes
Replace the for loop with a call to crypto_unregister_shashes(). Return 'ret' immediately and remove the goto statement to simplify the error handling code. No functional changes. Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto')
-rw-r--r--crypto/shash.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/crypto/shash.c b/crypto/shash.c
index 4721f5f134f4..5238e0def4fd 100644
--- a/crypto/shash.c
+++ b/crypto/shash.c
@@ -542,17 +542,13 @@ int crypto_register_shashes(struct shash_alg *algs, int count)
for (i = 0; i < count; i++) {
ret = crypto_register_shash(&algs[i]);
- if (ret)
- goto err;
+ if (ret) {
+ crypto_unregister_shashes(algs, i);
+ return ret;
+ }
}
return 0;
-
-err:
- for (--i; i >= 0; --i)
- crypto_unregister_shash(&algs[i]);
-
- return ret;
}
EXPORT_SYMBOL_GPL(crypto_register_shashes);