Re: [PATCH 1/6] crypto: add missing crypto module aliases
On Sun, Jan 11, 2015 at 9:17 AM, Mathias Krause mini...@googlemail.com wrote: Commit 5d26a105b5a7 (crypto: prefix module autoloading with crypto-) changed the automatic module loading when requesting crypto algorithms to prefix all module requests with crypto-. This requires all crypto modules to have a crypto specific module alias even if their file name would otherwise match the requested crypto algorithm. Even though commit 5d26a105b5a7 added those aliases for a vast amount of modules, it was missing a few. Add the required MODULE_ALIAS_CRYPTO annotations to those files to make them get loaded automatically, again. This fixes, e.g., requesting 'ecb(blowfish-generic)', which used to work with kernels v3.18 and below. Also change MODULE_ALIAS() lines to MODULE_ALIAS_CRYPTO(). The former won't work for crypto modules any more. Fixes: 5d26a105b5a7 (crypto: prefix module autoloading with crypto-) Cc: Kees Cook keesc...@chromium.org Signed-off-by: Mathias Krause mini...@googlemail.com Ah, perfect! Thanks for finding the missing ones! Acked-by: Kees Cook keesc...@chromium.org -Kees --- arch/powerpc/crypto/sha1.c |1 + arch/x86/crypto/sha-mb/sha1_mb.c |2 +- crypto/aes_generic.c |1 + crypto/ansi_cprng.c |1 + crypto/blowfish_generic.c|1 + crypto/camellia_generic.c|1 + crypto/cast5_generic.c |1 + crypto/cast6_generic.c |1 + crypto/crc32c_generic.c |1 + crypto/crct10dif_generic.c |1 + crypto/des_generic.c |7 --- crypto/ghash-generic.c |1 + crypto/krng.c|1 + crypto/salsa20_generic.c |1 + crypto/serpent_generic.c |1 + crypto/sha1_generic.c|1 + crypto/sha256_generic.c |2 ++ crypto/sha512_generic.c |2 ++ crypto/tea.c |1 + crypto/tgr192.c |1 + crypto/twofish_generic.c |1 + crypto/wp512.c |1 + 22 files changed, 27 insertions(+), 4 deletions(-) diff --git a/arch/powerpc/crypto/sha1.c b/arch/powerpc/crypto/sha1.c index d3feba5a275f..c154cebc1041 100644 --- a/arch/powerpc/crypto/sha1.c +++ b/arch/powerpc/crypto/sha1.c @@ -154,4 +154,5 @@ module_exit(sha1_powerpc_mod_fini); MODULE_LICENSE(GPL); MODULE_DESCRIPTION(SHA1 Secure Hash Algorithm); +MODULE_ALIAS_CRYPTO(sha1); MODULE_ALIAS_CRYPTO(sha1-powerpc); diff --git a/arch/x86/crypto/sha-mb/sha1_mb.c b/arch/x86/crypto/sha-mb/sha1_mb.c index a225a5ca1037..fd9f6b035b16 100644 --- a/arch/x86/crypto/sha-mb/sha1_mb.c +++ b/arch/x86/crypto/sha-mb/sha1_mb.c @@ -931,4 +931,4 @@ module_exit(sha1_mb_mod_fini); MODULE_LICENSE(GPL); MODULE_DESCRIPTION(SHA1 Secure Hash Algorithm, multi buffer accelerated); -MODULE_ALIAS(sha1); +MODULE_ALIAS_CRYPTO(sha1); diff --git a/crypto/aes_generic.c b/crypto/aes_generic.c index 9b3c54c1cbe8..3dd101144a58 100644 --- a/crypto/aes_generic.c +++ b/crypto/aes_generic.c @@ -1475,3 +1475,4 @@ module_exit(aes_fini); MODULE_DESCRIPTION(Rijndael (AES) Cipher Algorithm); MODULE_LICENSE(Dual BSD/GPL); MODULE_ALIAS_CRYPTO(aes); +MODULE_ALIAS_CRYPTO(aes-generic); diff --git a/crypto/ansi_cprng.c b/crypto/ansi_cprng.c index b4485a108389..6f5bebc9bf01 100644 --- a/crypto/ansi_cprng.c +++ b/crypto/ansi_cprng.c @@ -477,3 +477,4 @@ MODULE_PARM_DESC(dbg, Boolean to enable debugging (0/1 == off/on)); module_init(prng_mod_init); module_exit(prng_mod_fini); MODULE_ALIAS_CRYPTO(stdrng); +MODULE_ALIAS_CRYPTO(ansi_cprng); diff --git a/crypto/blowfish_generic.c b/crypto/blowfish_generic.c index 7bd71f02d0dd..87b392a77a93 100644 --- a/crypto/blowfish_generic.c +++ b/crypto/blowfish_generic.c @@ -139,3 +139,4 @@ module_exit(blowfish_mod_fini); MODULE_LICENSE(GPL); MODULE_DESCRIPTION(Blowfish Cipher Algorithm); MODULE_ALIAS_CRYPTO(blowfish); +MODULE_ALIAS_CRYPTO(blowfish-generic); diff --git a/crypto/camellia_generic.c b/crypto/camellia_generic.c index 1b74c5a3e891..a02286bf319e 100644 --- a/crypto/camellia_generic.c +++ b/crypto/camellia_generic.c @@ -1099,3 +1099,4 @@ module_exit(camellia_fini); MODULE_DESCRIPTION(Camellia Cipher Algorithm); MODULE_LICENSE(GPL); MODULE_ALIAS_CRYPTO(camellia); +MODULE_ALIAS_CRYPTO(camellia-generic); diff --git a/crypto/cast5_generic.c b/crypto/cast5_generic.c index 84c86db67ec7..df5c72629383 100644 --- a/crypto/cast5_generic.c +++ b/crypto/cast5_generic.c @@ -550,3 +550,4 @@ module_exit(cast5_mod_fini); MODULE_LICENSE(GPL); MODULE_DESCRIPTION(Cast5 Cipher Algorithm); MODULE_ALIAS_CRYPTO(cast5); +MODULE_ALIAS_CRYPTO(cast5-generic); diff --git a/crypto/cast6_generic.c b/crypto/cast6_generic.c index f408f0bd8de2..058c8d755d03 100644 --- a/crypto/cast6_generic.c +++ b/crypto/cast6_generic.c @@ -292,3 +292,4 @@ module_exit(cast6_mod_fini); MODULE_LICENSE(GPL);
[PATCH 1/6] crypto: add missing crypto module aliases
Commit 5d26a105b5a7 (crypto: prefix module autoloading with crypto-) changed the automatic module loading when requesting crypto algorithms to prefix all module requests with crypto-. This requires all crypto modules to have a crypto specific module alias even if their file name would otherwise match the requested crypto algorithm. Even though commit 5d26a105b5a7 added those aliases for a vast amount of modules, it was missing a few. Add the required MODULE_ALIAS_CRYPTO annotations to those files to make them get loaded automatically, again. This fixes, e.g., requesting 'ecb(blowfish-generic)', which used to work with kernels v3.18 and below. Also change MODULE_ALIAS() lines to MODULE_ALIAS_CRYPTO(). The former won't work for crypto modules any more. Fixes: 5d26a105b5a7 (crypto: prefix module autoloading with crypto-) Cc: Kees Cook keesc...@chromium.org Signed-off-by: Mathias Krause mini...@googlemail.com --- arch/powerpc/crypto/sha1.c |1 + arch/x86/crypto/sha-mb/sha1_mb.c |2 +- crypto/aes_generic.c |1 + crypto/ansi_cprng.c |1 + crypto/blowfish_generic.c|1 + crypto/camellia_generic.c|1 + crypto/cast5_generic.c |1 + crypto/cast6_generic.c |1 + crypto/crc32c_generic.c |1 + crypto/crct10dif_generic.c |1 + crypto/des_generic.c |7 --- crypto/ghash-generic.c |1 + crypto/krng.c|1 + crypto/salsa20_generic.c |1 + crypto/serpent_generic.c |1 + crypto/sha1_generic.c|1 + crypto/sha256_generic.c |2 ++ crypto/sha512_generic.c |2 ++ crypto/tea.c |1 + crypto/tgr192.c |1 + crypto/twofish_generic.c |1 + crypto/wp512.c |1 + 22 files changed, 27 insertions(+), 4 deletions(-) diff --git a/arch/powerpc/crypto/sha1.c b/arch/powerpc/crypto/sha1.c index d3feba5a275f..c154cebc1041 100644 --- a/arch/powerpc/crypto/sha1.c +++ b/arch/powerpc/crypto/sha1.c @@ -154,4 +154,5 @@ module_exit(sha1_powerpc_mod_fini); MODULE_LICENSE(GPL); MODULE_DESCRIPTION(SHA1 Secure Hash Algorithm); +MODULE_ALIAS_CRYPTO(sha1); MODULE_ALIAS_CRYPTO(sha1-powerpc); diff --git a/arch/x86/crypto/sha-mb/sha1_mb.c b/arch/x86/crypto/sha-mb/sha1_mb.c index a225a5ca1037..fd9f6b035b16 100644 --- a/arch/x86/crypto/sha-mb/sha1_mb.c +++ b/arch/x86/crypto/sha-mb/sha1_mb.c @@ -931,4 +931,4 @@ module_exit(sha1_mb_mod_fini); MODULE_LICENSE(GPL); MODULE_DESCRIPTION(SHA1 Secure Hash Algorithm, multi buffer accelerated); -MODULE_ALIAS(sha1); +MODULE_ALIAS_CRYPTO(sha1); diff --git a/crypto/aes_generic.c b/crypto/aes_generic.c index 9b3c54c1cbe8..3dd101144a58 100644 --- a/crypto/aes_generic.c +++ b/crypto/aes_generic.c @@ -1475,3 +1475,4 @@ module_exit(aes_fini); MODULE_DESCRIPTION(Rijndael (AES) Cipher Algorithm); MODULE_LICENSE(Dual BSD/GPL); MODULE_ALIAS_CRYPTO(aes); +MODULE_ALIAS_CRYPTO(aes-generic); diff --git a/crypto/ansi_cprng.c b/crypto/ansi_cprng.c index b4485a108389..6f5bebc9bf01 100644 --- a/crypto/ansi_cprng.c +++ b/crypto/ansi_cprng.c @@ -477,3 +477,4 @@ MODULE_PARM_DESC(dbg, Boolean to enable debugging (0/1 == off/on)); module_init(prng_mod_init); module_exit(prng_mod_fini); MODULE_ALIAS_CRYPTO(stdrng); +MODULE_ALIAS_CRYPTO(ansi_cprng); diff --git a/crypto/blowfish_generic.c b/crypto/blowfish_generic.c index 7bd71f02d0dd..87b392a77a93 100644 --- a/crypto/blowfish_generic.c +++ b/crypto/blowfish_generic.c @@ -139,3 +139,4 @@ module_exit(blowfish_mod_fini); MODULE_LICENSE(GPL); MODULE_DESCRIPTION(Blowfish Cipher Algorithm); MODULE_ALIAS_CRYPTO(blowfish); +MODULE_ALIAS_CRYPTO(blowfish-generic); diff --git a/crypto/camellia_generic.c b/crypto/camellia_generic.c index 1b74c5a3e891..a02286bf319e 100644 --- a/crypto/camellia_generic.c +++ b/crypto/camellia_generic.c @@ -1099,3 +1099,4 @@ module_exit(camellia_fini); MODULE_DESCRIPTION(Camellia Cipher Algorithm); MODULE_LICENSE(GPL); MODULE_ALIAS_CRYPTO(camellia); +MODULE_ALIAS_CRYPTO(camellia-generic); diff --git a/crypto/cast5_generic.c b/crypto/cast5_generic.c index 84c86db67ec7..df5c72629383 100644 --- a/crypto/cast5_generic.c +++ b/crypto/cast5_generic.c @@ -550,3 +550,4 @@ module_exit(cast5_mod_fini); MODULE_LICENSE(GPL); MODULE_DESCRIPTION(Cast5 Cipher Algorithm); MODULE_ALIAS_CRYPTO(cast5); +MODULE_ALIAS_CRYPTO(cast5-generic); diff --git a/crypto/cast6_generic.c b/crypto/cast6_generic.c index f408f0bd8de2..058c8d755d03 100644 --- a/crypto/cast6_generic.c +++ b/crypto/cast6_generic.c @@ -292,3 +292,4 @@ module_exit(cast6_mod_fini); MODULE_LICENSE(GPL); MODULE_DESCRIPTION(Cast6 Cipher Algorithm); MODULE_ALIAS_CRYPTO(cast6); +MODULE_ALIAS_CRYPTO(cast6-generic); diff --git a/crypto/crc32c_generic.c b/crypto/crc32c_generic.c index 2a062025749d..06f1b60f02b2 100644 --- a/crypto/crc32c_generic.c +++ b/crypto/crc32c_generic.c @@ -171,4 +171,5 @@