Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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 <keescook@chromium.org>
Signed-off-by: Mathias Krause <minipli@googlemail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

authored by

Mathias Krause and committed by
Herbert Xu
3e14dcf7 0b8c960c

+27 -4
+1
arch/powerpc/crypto/sha1.c
··· 154 154 MODULE_LICENSE("GPL"); 155 155 MODULE_DESCRIPTION("SHA1 Secure Hash Algorithm"); 156 156 157 + MODULE_ALIAS_CRYPTO("sha1"); 157 158 MODULE_ALIAS_CRYPTO("sha1-powerpc");
+1 -1
arch/x86/crypto/sha-mb/sha1_mb.c
··· 931 931 MODULE_LICENSE("GPL"); 932 932 MODULE_DESCRIPTION("SHA1 Secure Hash Algorithm, multi buffer accelerated"); 933 933 934 - MODULE_ALIAS("sha1"); 934 + MODULE_ALIAS_CRYPTO("sha1");
+1
crypto/aes_generic.c
··· 1475 1475 MODULE_DESCRIPTION("Rijndael (AES) Cipher Algorithm"); 1476 1476 MODULE_LICENSE("Dual BSD/GPL"); 1477 1477 MODULE_ALIAS_CRYPTO("aes"); 1478 + MODULE_ALIAS_CRYPTO("aes-generic");
+1
crypto/ansi_cprng.c
··· 477 477 module_init(prng_mod_init); 478 478 module_exit(prng_mod_fini); 479 479 MODULE_ALIAS_CRYPTO("stdrng"); 480 + MODULE_ALIAS_CRYPTO("ansi_cprng");
+1
crypto/blowfish_generic.c
··· 139 139 MODULE_LICENSE("GPL"); 140 140 MODULE_DESCRIPTION("Blowfish Cipher Algorithm"); 141 141 MODULE_ALIAS_CRYPTO("blowfish"); 142 + MODULE_ALIAS_CRYPTO("blowfish-generic");
+1
crypto/camellia_generic.c
··· 1099 1099 MODULE_DESCRIPTION("Camellia Cipher Algorithm"); 1100 1100 MODULE_LICENSE("GPL"); 1101 1101 MODULE_ALIAS_CRYPTO("camellia"); 1102 + MODULE_ALIAS_CRYPTO("camellia-generic");
+1
crypto/cast5_generic.c
··· 550 550 MODULE_LICENSE("GPL"); 551 551 MODULE_DESCRIPTION("Cast5 Cipher Algorithm"); 552 552 MODULE_ALIAS_CRYPTO("cast5"); 553 + MODULE_ALIAS_CRYPTO("cast5-generic");
+1
crypto/cast6_generic.c
··· 292 292 MODULE_LICENSE("GPL"); 293 293 MODULE_DESCRIPTION("Cast6 Cipher Algorithm"); 294 294 MODULE_ALIAS_CRYPTO("cast6"); 295 + MODULE_ALIAS_CRYPTO("cast6-generic");
+1
crypto/crc32c_generic.c
··· 171 171 MODULE_DESCRIPTION("CRC32c (Castagnoli) calculations wrapper for lib/crc32c"); 172 172 MODULE_LICENSE("GPL"); 173 173 MODULE_ALIAS_CRYPTO("crc32c"); 174 + MODULE_ALIAS_CRYPTO("crc32c-generic"); 174 175 MODULE_SOFTDEP("pre: crc32c");
+1
crypto/crct10dif_generic.c
··· 125 125 MODULE_DESCRIPTION("T10 DIF CRC calculation."); 126 126 MODULE_LICENSE("GPL"); 127 127 MODULE_ALIAS_CRYPTO("crct10dif"); 128 + MODULE_ALIAS_CRYPTO("crct10dif-generic");
+4 -3
crypto/des_generic.c
··· 983 983 .cia_decrypt = des3_ede_decrypt } } 984 984 } }; 985 985 986 - MODULE_ALIAS_CRYPTO("des3_ede"); 987 - 988 986 static int __init des_generic_mod_init(void) 989 987 { 990 988 return crypto_register_algs(des_algs, ARRAY_SIZE(des_algs)); ··· 999 1001 MODULE_LICENSE("GPL"); 1000 1002 MODULE_DESCRIPTION("DES & Triple DES EDE Cipher Algorithms"); 1001 1003 MODULE_AUTHOR("Dag Arne Osvik <da@osvik.no>"); 1002 - MODULE_ALIAS("des"); 1004 + MODULE_ALIAS_CRYPTO("des"); 1005 + MODULE_ALIAS_CRYPTO("des-generic"); 1006 + MODULE_ALIAS_CRYPTO("des3_ede"); 1007 + MODULE_ALIAS_CRYPTO("des3_ede-generic");
+1
crypto/ghash-generic.c
··· 173 173 MODULE_LICENSE("GPL"); 174 174 MODULE_DESCRIPTION("GHASH Message Digest Algorithm"); 175 175 MODULE_ALIAS_CRYPTO("ghash"); 176 + MODULE_ALIAS_CRYPTO("ghash-generic");
+1
crypto/krng.c
··· 63 63 MODULE_LICENSE("GPL"); 64 64 MODULE_DESCRIPTION("Kernel Random Number Generator"); 65 65 MODULE_ALIAS_CRYPTO("stdrng"); 66 + MODULE_ALIAS_CRYPTO("krng");
+1
crypto/salsa20_generic.c
··· 249 249 MODULE_LICENSE("GPL"); 250 250 MODULE_DESCRIPTION ("Salsa20 stream cipher algorithm"); 251 251 MODULE_ALIAS_CRYPTO("salsa20"); 252 + MODULE_ALIAS_CRYPTO("salsa20-generic");
+1
crypto/serpent_generic.c
··· 667 667 MODULE_AUTHOR("Dag Arne Osvik <osvik@ii.uib.no>"); 668 668 MODULE_ALIAS_CRYPTO("tnepres"); 669 669 MODULE_ALIAS_CRYPTO("serpent"); 670 + MODULE_ALIAS_CRYPTO("serpent-generic");
+1
crypto/sha1_generic.c
··· 154 154 MODULE_DESCRIPTION("SHA1 Secure Hash Algorithm"); 155 155 156 156 MODULE_ALIAS_CRYPTO("sha1"); 157 + MODULE_ALIAS_CRYPTO("sha1-generic");
+2
crypto/sha256_generic.c
··· 385 385 MODULE_DESCRIPTION("SHA-224 and SHA-256 Secure Hash Algorithm"); 386 386 387 387 MODULE_ALIAS_CRYPTO("sha224"); 388 + MODULE_ALIAS_CRYPTO("sha224-generic"); 388 389 MODULE_ALIAS_CRYPTO("sha256"); 390 + MODULE_ALIAS_CRYPTO("sha256-generic");
+2
crypto/sha512_generic.c
··· 289 289 MODULE_DESCRIPTION("SHA-512 and SHA-384 Secure Hash Algorithms"); 290 290 291 291 MODULE_ALIAS_CRYPTO("sha384"); 292 + MODULE_ALIAS_CRYPTO("sha384-generic"); 292 293 MODULE_ALIAS_CRYPTO("sha512"); 294 + MODULE_ALIAS_CRYPTO("sha512-generic");
+1
crypto/tea.c
··· 270 270 crypto_unregister_algs(tea_algs, ARRAY_SIZE(tea_algs)); 271 271 } 272 272 273 + MODULE_ALIAS_CRYPTO("tea"); 273 274 MODULE_ALIAS_CRYPTO("xtea"); 274 275 MODULE_ALIAS_CRYPTO("xeta"); 275 276
+1
crypto/tgr192.c
··· 676 676 crypto_unregister_shashes(tgr_algs, ARRAY_SIZE(tgr_algs)); 677 677 } 678 678 679 + MODULE_ALIAS_CRYPTO("tgr192"); 679 680 MODULE_ALIAS_CRYPTO("tgr160"); 680 681 MODULE_ALIAS_CRYPTO("tgr128"); 681 682
+1
crypto/twofish_generic.c
··· 212 212 MODULE_LICENSE("GPL"); 213 213 MODULE_DESCRIPTION ("Twofish Cipher Algorithm"); 214 214 MODULE_ALIAS_CRYPTO("twofish"); 215 + MODULE_ALIAS_CRYPTO("twofish-generic");
+1
crypto/wp512.c
··· 1167 1167 crypto_unregister_shashes(wp_algs, ARRAY_SIZE(wp_algs)); 1168 1168 } 1169 1169 1170 + MODULE_ALIAS_CRYPTO("wp512"); 1170 1171 MODULE_ALIAS_CRYPTO("wp384"); 1171 1172 MODULE_ALIAS_CRYPTO("wp256"); 1172 1173