| From: Mathias Krause <minipli@googlemail.com> |
| Date: Sun, 11 Jan 2015 18:17:42 +0100 |
| Subject: crypto: add missing crypto module aliases |
| |
| commit 3e14dcf7cb80b34a1f38b55bc96f02d23fdaaaaf upstream. |
| |
| 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 <keescook@chromium.org> |
| Signed-off-by: Mathias Krause <minipli@googlemail.com> |
| Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> |
| [bwh: Backported to 3.2: |
| - Adjust filenames |
| - Drop changes to algorithms and drivers we don't have] |
| Signed-off-by: Ben Hutchings <ben@decadent.org.uk> |
| --- |
| --- a/crypto/aes_generic.c |
| +++ b/crypto/aes_generic.c |
| @@ -1476,3 +1476,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"); |
| --- a/crypto/ansi_cprng.c |
| +++ b/crypto/ansi_cprng.c |
| @@ -486,3 +486,4 @@ MODULE_PARM_DESC(dbg, "Boolean to enable |
| module_init(prng_mod_init); |
| module_exit(prng_mod_fini); |
| MODULE_ALIAS_CRYPTO("stdrng"); |
| +MODULE_ALIAS_CRYPTO("ansi_cprng"); |
| --- a/crypto/blowfish_generic.c |
| +++ b/crypto/blowfish_generic.c |
| @@ -140,3 +140,4 @@ module_exit(blowfish_mod_fini); |
| MODULE_LICENSE("GPL"); |
| MODULE_DESCRIPTION("Blowfish Cipher Algorithm"); |
| MODULE_ALIAS_CRYPTO("blowfish"); |
| +MODULE_ALIAS_CRYPTO("blowfish-generic"); |
| --- a/crypto/des_generic.c |
| +++ b/crypto/des_generic.c |
| @@ -975,8 +975,6 @@ static struct crypto_alg des3_ede_alg = |
| .cia_decrypt = des3_ede_decrypt } } |
| }; |
| |
| -MODULE_ALIAS_CRYPTO("des3_ede"); |
| - |
| static int __init des_generic_mod_init(void) |
| { |
| int ret = 0; |
| @@ -1004,4 +1002,7 @@ module_exit(des_generic_mod_fini); |
| MODULE_LICENSE("GPL"); |
| MODULE_DESCRIPTION("DES & Triple DES EDE Cipher Algorithms"); |
| MODULE_AUTHOR("Dag Arne Osvik <da@osvik.no>"); |
| -MODULE_ALIAS("des"); |
| +MODULE_ALIAS_CRYPTO("des"); |
| +MODULE_ALIAS_CRYPTO("des-generic"); |
| +MODULE_ALIAS_CRYPTO("des3_ede"); |
| +MODULE_ALIAS_CRYPTO("des3_ede-generic"); |
| --- a/crypto/ghash-generic.c |
| +++ b/crypto/ghash-generic.c |
| @@ -174,3 +174,4 @@ module_exit(ghash_mod_exit); |
| MODULE_LICENSE("GPL"); |
| MODULE_DESCRIPTION("GHASH Message Digest Algorithm"); |
| MODULE_ALIAS_CRYPTO("ghash"); |
| +MODULE_ALIAS_CRYPTO("ghash-generic"); |
| --- a/crypto/krng.c |
| +++ b/crypto/krng.c |
| @@ -64,3 +64,4 @@ module_exit(krng_mod_fini); |
| MODULE_LICENSE("GPL"); |
| MODULE_DESCRIPTION("Kernel Random Number Generator"); |
| MODULE_ALIAS_CRYPTO("stdrng"); |
| +MODULE_ALIAS_CRYPTO("krng"); |
| --- a/crypto/salsa20_generic.c |
| +++ b/crypto/salsa20_generic.c |
| @@ -250,3 +250,4 @@ module_exit(salsa20_generic_mod_fini); |
| MODULE_LICENSE("GPL"); |
| MODULE_DESCRIPTION ("Salsa20 stream cipher algorithm"); |
| MODULE_ALIAS_CRYPTO("salsa20"); |
| +MODULE_ALIAS_CRYPTO("salsa20-generic"); |
| --- a/crypto/sha1_generic.c |
| +++ b/crypto/sha1_generic.c |
| @@ -154,3 +154,4 @@ MODULE_LICENSE("GPL"); |
| MODULE_DESCRIPTION("SHA1 Secure Hash Algorithm"); |
| |
| MODULE_ALIAS_CRYPTO("sha1"); |
| +MODULE_ALIAS_CRYPTO("sha1-generic"); |
| --- a/crypto/sha256_generic.c |
| +++ b/crypto/sha256_generic.c |
| @@ -399,4 +399,6 @@ MODULE_LICENSE("GPL"); |
| MODULE_DESCRIPTION("SHA-224 and SHA-256 Secure Hash Algorithm"); |
| |
| MODULE_ALIAS_CRYPTO("sha224"); |
| +MODULE_ALIAS_CRYPTO("sha224-generic"); |
| MODULE_ALIAS_CRYPTO("sha256"); |
| +MODULE_ALIAS_CRYPTO("sha256-generic"); |
| --- a/crypto/sha512_generic.c |
| +++ b/crypto/sha512_generic.c |
| @@ -295,4 +295,6 @@ MODULE_LICENSE("GPL"); |
| MODULE_DESCRIPTION("SHA-512 and SHA-384 Secure Hash Algorithms"); |
| |
| MODULE_ALIAS_CRYPTO("sha384"); |
| +MODULE_ALIAS_CRYPTO("sha384-generic"); |
| MODULE_ALIAS_CRYPTO("sha512"); |
| +MODULE_ALIAS_CRYPTO("sha512-generic"); |
| --- a/crypto/tea.c |
| +++ b/crypto/tea.c |
| @@ -299,6 +299,7 @@ static void __exit tea_mod_fini(void) |
| crypto_unregister_alg(&xeta_alg); |
| } |
| |
| +MODULE_ALIAS_CRYPTO("tea"); |
| MODULE_ALIAS_CRYPTO("xtea"); |
| MODULE_ALIAS_CRYPTO("xeta"); |
| |
| --- a/crypto/tgr192.c |
| +++ b/crypto/tgr192.c |
| @@ -702,6 +702,7 @@ static void __exit tgr192_mod_fini(void) |
| crypto_unregister_shash(&tgr128); |
| } |
| |
| +MODULE_ALIAS_CRYPTO("tgr192"); |
| MODULE_ALIAS_CRYPTO("tgr160"); |
| MODULE_ALIAS_CRYPTO("tgr128"); |
| |
| --- a/crypto/twofish_generic.c |
| +++ b/crypto/twofish_generic.c |
| @@ -213,3 +213,4 @@ module_exit(twofish_mod_fini); |
| MODULE_LICENSE("GPL"); |
| MODULE_DESCRIPTION ("Twofish Cipher Algorithm"); |
| MODULE_ALIAS_CRYPTO("twofish"); |
| +MODULE_ALIAS_CRYPTO("twofish-generic"); |
| --- a/crypto/wp512.c |
| +++ b/crypto/wp512.c |
| @@ -1194,6 +1194,7 @@ static void __exit wp512_mod_fini(void) |
| crypto_unregister_shash(&wp256); |
| } |
| |
| +MODULE_ALIAS_CRYPTO("wp512"); |
| MODULE_ALIAS_CRYPTO("wp384"); |
| MODULE_ALIAS_CRYPTO("wp256"); |
| |