crypto/scompress.c | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-)
Define crypto_unregister_scomps() before crypto_register_scomps() and
replace the for loop with a call to crypto_unregister_scomps(). 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>
---
crypto/scompress.c | 30 +++++++++++++-----------------
1 file changed, 13 insertions(+), 17 deletions(-)
diff --git a/crypto/scompress.c b/crypto/scompress.c
index 1a7ed8ae65b0..3e026a6eefe8 100644
--- a/crypto/scompress.c
+++ b/crypto/scompress.c
@@ -377,34 +377,30 @@ void crypto_unregister_scomp(struct scomp_alg *alg)
}
EXPORT_SYMBOL_GPL(crypto_unregister_scomp);
+void crypto_unregister_scomps(struct scomp_alg *algs, int count)
+{
+ int i;
+
+ for (i = count - 1; i >= 0; --i)
+ crypto_unregister_scomp(&algs[i]);
+}
+EXPORT_SYMBOL_GPL(crypto_unregister_scomps);
+
int crypto_register_scomps(struct scomp_alg *algs, int count)
{
int i, ret;
for (i = 0; i < count; i++) {
ret = crypto_register_scomp(&algs[i]);
- if (ret)
- goto err;
+ if (ret) {
+ crypto_unregister_scomps(algs, i);
+ return ret;
+ }
}
return 0;
-
-err:
- for (--i; i >= 0; --i)
- crypto_unregister_scomp(&algs[i]);
-
- return ret;
}
EXPORT_SYMBOL_GPL(crypto_register_scomps);
-void crypto_unregister_scomps(struct scomp_alg *algs, int count)
-{
- int i;
-
- for (i = count - 1; i >= 0; --i)
- crypto_unregister_scomp(&algs[i]);
-}
-EXPORT_SYMBOL_GPL(crypto_unregister_scomps);
-
MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("Synchronous compression type");
--
Thorsten Blum <thorsten.blum@linux.dev>
GPG: 1D60 735E 8AEF 3BE4 73B6 9D84 7336 78FD 8DFE EAD4
On Wed, Dec 10, 2025 at 02:25:48PM +0100, Thorsten Blum wrote:
> Define crypto_unregister_scomps() before crypto_register_scomps() and
> replace the for loop with a call to crypto_unregister_scomps(). 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>
> ---
> crypto/scompress.c | 30 +++++++++++++-----------------
> 1 file changed, 13 insertions(+), 17 deletions(-)
>
> diff --git a/crypto/scompress.c b/crypto/scompress.c
> index 1a7ed8ae65b0..3e026a6eefe8 100644
> --- a/crypto/scompress.c
> +++ b/crypto/scompress.c
> @@ -377,34 +377,30 @@ void crypto_unregister_scomp(struct scomp_alg *alg)
> }
> EXPORT_SYMBOL_GPL(crypto_unregister_scomp);
>
> +void crypto_unregister_scomps(struct scomp_alg *algs, int count)
> +{
> + int i;
> +
> + for (i = count - 1; i >= 0; --i)
> + crypto_unregister_scomp(&algs[i]);
> +}
> +EXPORT_SYMBOL_GPL(crypto_unregister_scomps);
There is no need to move this function.
Thanks,
--
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
© 2016 - 2025 Red Hat, Inc.