Apply Crypto API wrappers to the exported crypto symbol in CONFIG_CRYPTO_SHA3-related crypto to convert them into pluggable interface.
This patch is partially based on work by Vegard Nossum, with modifications. Unlike the original, we do not include DEFINE_CRYPTO_API since only one copy of the crypto symbols is kept, either in the crypto module or in the main kernel, and we ensure such wrapper do not have impact on crypto already chosen built as module. Co-developed-by: Vegard Nossum <[email protected]> Signed-off-by: Jay Wang <[email protected]> --- crypto/Makefile | 2 +- crypto/sha3.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/crypto/Makefile b/crypto/Makefile index 47ff0136c7c5..251b20fad9c2 100644 --- a/crypto/Makefile +++ b/crypto/Makefile @@ -82,7 +82,7 @@ obj-$(CONFIG_CRYPTO_RMD160) += rmd160.o obj-$(CONFIG_CRYPTO_SHA1) += sha1.o crypto-objs-$(CONFIG_CRYPTO_SHA256) += sha256.o crypto-objs-$(CONFIG_CRYPTO_SHA512) += sha512.o -obj-$(CONFIG_CRYPTO_SHA3) += sha3.o +crypto-objs-$(CONFIG_CRYPTO_SHA3) += sha3.o obj-$(CONFIG_CRYPTO_SM3_GENERIC) += sm3_generic.o obj-$(CONFIG_CRYPTO_STREEBOG) += streebog_generic.o obj-$(CONFIG_CRYPTO_WP512) += wp512.o diff --git a/crypto/sha3.c b/crypto/sha3.c index 8f364979ec89..1aefb256dd72 100644 --- a/crypto/sha3.c +++ b/crypto/sha3.c @@ -145,13 +145,13 @@ static int __init crypto_sha3_mod_init(void) { return crypto_register_shashes(algs, ARRAY_SIZE(algs)); } -module_init(crypto_sha3_mod_init); +crypto_module_init(crypto_sha3_mod_init); static void __exit crypto_sha3_mod_exit(void) { crypto_unregister_shashes(algs, ARRAY_SIZE(algs)); } -module_exit(crypto_sha3_mod_exit); +crypto_module_exit(crypto_sha3_mod_exit); MODULE_LICENSE("GPL"); MODULE_DESCRIPTION("Crypto API support for SHA-3"); -- 2.47.3
