aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86
diff options
context:
space:
mode:
authorEric Biggers <ebiggers@google.com>2019-11-17 23:21:58 -0800
committerHerbert Xu <herbert@gondor.apana.org.au>2019-11-22 18:48:39 +0800
commitb62755aed3a3f5ca9edd2718339ccea3b6bbbe57 (patch)
tree6cef27d00d7e9442dee0f7f18c275607c8f58412 /arch/x86
parentcrypto: chacha_generic - remove unnecessary setkey() functions (diff)
downloadlinux-dev-b62755aed3a3f5ca9edd2718339ccea3b6bbbe57.tar.xz
linux-dev-b62755aed3a3f5ca9edd2718339ccea3b6bbbe57.zip
crypto: x86/chacha - only unregister algorithms if registered
It's not valid to call crypto_unregister_skciphers() without a prior call to crypto_register_skciphers(). Fixes: 84e03fa39fbe ("crypto: x86/chacha - expose SIMD ChaCha routine as library function") Signed-off-by: Eric Biggers <ebiggers@google.com> Acked-by: Ard Biesheuvel <ardb@kernel.org> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'arch/x86')
-rw-r--r--arch/x86/crypto/chacha_glue.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/x86/crypto/chacha_glue.c b/arch/x86/crypto/chacha_glue.c
index b391e13a9e41..a94e30b6f941 100644
--- a/arch/x86/crypto/chacha_glue.c
+++ b/arch/x86/crypto/chacha_glue.c
@@ -304,7 +304,8 @@ static int __init chacha_simd_mod_init(void)
static void __exit chacha_simd_mod_fini(void)
{
- crypto_unregister_skciphers(algs, ARRAY_SIZE(algs));
+ if (boot_cpu_has(X86_FEATURE_SSSE3))
+ crypto_unregister_skciphers(algs, ARRAY_SIZE(algs));
}
module_init(chacha_simd_mod_init);