Commit f2efa8653bb59eeaa47036222bf4dd9acc83aabf

Authored by Kees Cook
Committed by Greg Kroah-Hartman
1 parent c4302b5e47

crypto: prefix module autoloading with "crypto-"

commit 5d26a105b5a73e5635eae0629b42fa0a90e07b7b upstream.

This prefixes all crypto module loading with "crypto-" so we never run
the risk of exposing module auto-loading to userspace via a crypto API,
as demonstrated by Mathias Krause:

https://lkml.org/lkml/2013/3/4/70

Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Showing 95 changed files with 156 additions and 124 deletions Side-by-side Diff

arch/arm/crypto/aes_glue.c
... ... @@ -93,7 +93,7 @@
93 93  
94 94 MODULE_DESCRIPTION("Rijndael (AES) Cipher Algorithm (ASM)");
95 95 MODULE_LICENSE("GPL");
96   -MODULE_ALIAS("aes");
97   -MODULE_ALIAS("aes-asm");
  96 +MODULE_ALIAS_CRYPTO("aes");
  97 +MODULE_ALIAS_CRYPTO("aes-asm");
98 98 MODULE_AUTHOR("David McCullough <ucdevel@gmail.com>");
arch/arm/crypto/sha1_glue.c
... ... @@ -171,6 +171,6 @@
171 171  
172 172 MODULE_LICENSE("GPL");
173 173 MODULE_DESCRIPTION("SHA1 Secure Hash Algorithm (ARM)");
174   -MODULE_ALIAS("sha1");
  174 +MODULE_ALIAS_CRYPTO("sha1");
175 175 MODULE_AUTHOR("David McCullough <ucdevel@gmail.com>");
arch/arm/crypto/sha1_neon_glue.c
... ... @@ -194,5 +194,5 @@
194 194  
195 195 MODULE_LICENSE("GPL");
196 196 MODULE_DESCRIPTION("SHA1 Secure Hash Algorithm, NEON accelerated");
197   -MODULE_ALIAS("sha1");
  197 +MODULE_ALIAS_CRYPTO("sha1");
arch/arm/crypto/sha512_neon_glue.c
... ... @@ -301,6 +301,6 @@
301 301 MODULE_LICENSE("GPL");
302 302 MODULE_DESCRIPTION("SHA512 Secure Hash Algorithm, NEON accelerated");
303 303  
304   -MODULE_ALIAS("sha512");
305   -MODULE_ALIAS("sha384");
  304 +MODULE_ALIAS_CRYPTO("sha512");
  305 +MODULE_ALIAS_CRYPTO("sha384");
arch/arm64/crypto/aes-ce-ccm-glue.c
... ... @@ -294,5 +294,5 @@
294 294 MODULE_DESCRIPTION("Synchronous AES in CCM mode using ARMv8 Crypto Extensions");
295 295 MODULE_AUTHOR("Ard Biesheuvel <ard.biesheuvel@linaro.org>");
296 296 MODULE_LICENSE("GPL v2");
297   -MODULE_ALIAS("ccm(aes)");
  297 +MODULE_ALIAS_CRYPTO("ccm(aes)");
arch/arm64/crypto/aes-glue.c
... ... @@ -38,10 +38,10 @@
38 38 #define aes_xts_encrypt neon_aes_xts_encrypt
39 39 #define aes_xts_decrypt neon_aes_xts_decrypt
40 40 MODULE_DESCRIPTION("AES-ECB/CBC/CTR/XTS using ARMv8 NEON");
41   -MODULE_ALIAS("ecb(aes)");
42   -MODULE_ALIAS("cbc(aes)");
43   -MODULE_ALIAS("ctr(aes)");
44   -MODULE_ALIAS("xts(aes)");
  41 +MODULE_ALIAS_CRYPTO("ecb(aes)");
  42 +MODULE_ALIAS_CRYPTO("cbc(aes)");
  43 +MODULE_ALIAS_CRYPTO("ctr(aes)");
  44 +MODULE_ALIAS_CRYPTO("xts(aes)");
45 45 #endif
46 46  
47 47 MODULE_AUTHOR("Ard Biesheuvel <ard.biesheuvel@linaro.org>");
arch/powerpc/crypto/sha1.c
... ... @@ -154,5 +154,5 @@
154 154 MODULE_LICENSE("GPL");
155 155 MODULE_DESCRIPTION("SHA1 Secure Hash Algorithm");
156 156  
157   -MODULE_ALIAS("sha1-powerpc");
  157 +MODULE_ALIAS_CRYPTO("sha1-powerpc");
arch/s390/crypto/aes_s390.c
... ... @@ -979,7 +979,7 @@
979 979 module_init(aes_s390_init);
980 980 module_exit(aes_s390_fini);
981 981  
982   -MODULE_ALIAS("aes-all");
  982 +MODULE_ALIAS_CRYPTO("aes-all");
983 983  
984 984 MODULE_DESCRIPTION("Rijndael (AES) Cipher Algorithm");
985 985 MODULE_LICENSE("GPL");
arch/s390/crypto/des_s390.c
... ... @@ -619,8 +619,8 @@
619 619 module_init(des_s390_init);
620 620 module_exit(des_s390_exit);
621 621  
622   -MODULE_ALIAS("des");
623   -MODULE_ALIAS("des3_ede");
  622 +MODULE_ALIAS_CRYPTO("des");
  623 +MODULE_ALIAS_CRYPTO("des3_ede");
624 624  
625 625 MODULE_LICENSE("GPL");
626 626 MODULE_DESCRIPTION("DES & Triple DES EDE Cipher Algorithms");
arch/s390/crypto/ghash_s390.c
... ... @@ -160,7 +160,7 @@
160 160 module_init(ghash_mod_init);
161 161 module_exit(ghash_mod_exit);
162 162  
163   -MODULE_ALIAS("ghash");
  163 +MODULE_ALIAS_CRYPTO("ghash");
164 164  
165 165 MODULE_LICENSE("GPL");
166 166 MODULE_DESCRIPTION("GHASH Message Digest Algorithm, s390 implementation");
arch/s390/crypto/sha1_s390.c
... ... @@ -103,7 +103,7 @@
103 103 module_init(sha1_s390_init);
104 104 module_exit(sha1_s390_fini);
105 105  
106   -MODULE_ALIAS("sha1");
  106 +MODULE_ALIAS_CRYPTO("sha1");
107 107 MODULE_LICENSE("GPL");
108 108 MODULE_DESCRIPTION("SHA1 Secure Hash Algorithm");
arch/s390/crypto/sha256_s390.c
... ... @@ -143,8 +143,8 @@
143 143 module_init(sha256_s390_init);
144 144 module_exit(sha256_s390_fini);
145 145  
146   -MODULE_ALIAS("sha256");
147   -MODULE_ALIAS("sha224");
  146 +MODULE_ALIAS_CRYPTO("sha256");
  147 +MODULE_ALIAS_CRYPTO("sha224");
148 148 MODULE_LICENSE("GPL");
149 149 MODULE_DESCRIPTION("SHA256 and SHA224 Secure Hash Algorithm");
arch/s390/crypto/sha512_s390.c
... ... @@ -86,7 +86,7 @@
86 86 }
87 87 };
88 88  
89   -MODULE_ALIAS("sha512");
  89 +MODULE_ALIAS_CRYPTO("sha512");
90 90  
91 91 static int sha384_init(struct shash_desc *desc)
92 92 {
... ... @@ -126,7 +126,7 @@
126 126 }
127 127 };
128 128  
129   -MODULE_ALIAS("sha384");
  129 +MODULE_ALIAS_CRYPTO("sha384");
130 130  
131 131 static int __init init(void)
132 132 {
arch/sparc/crypto/aes_glue.c
... ... @@ -499,7 +499,7 @@
499 499 MODULE_LICENSE("GPL");
500 500 MODULE_DESCRIPTION("AES Secure Hash Algorithm, sparc64 aes opcode accelerated");
501 501  
502   -MODULE_ALIAS("aes");
  502 +MODULE_ALIAS_CRYPTO("aes");
503 503  
504 504 #include "crop_devid.c"
arch/sparc/crypto/camellia_glue.c
... ... @@ -322,7 +322,7 @@
322 322 MODULE_LICENSE("GPL");
323 323 MODULE_DESCRIPTION("Camellia Cipher Algorithm, sparc64 camellia opcode accelerated");
324 324  
325   -MODULE_ALIAS("aes");
  325 +MODULE_ALIAS_CRYPTO("aes");
326 326  
327 327 #include "crop_devid.c"
arch/sparc/crypto/crc32c_glue.c
... ... @@ -176,7 +176,7 @@
176 176 MODULE_LICENSE("GPL");
177 177 MODULE_DESCRIPTION("CRC32c (Castagnoli), sparc64 crc32c opcode accelerated");
178 178  
179   -MODULE_ALIAS("crc32c");
  179 +MODULE_ALIAS_CRYPTO("crc32c");
180 180  
181 181 #include "crop_devid.c"
arch/sparc/crypto/des_glue.c
... ... @@ -532,7 +532,7 @@
532 532 MODULE_LICENSE("GPL");
533 533 MODULE_DESCRIPTION("DES & Triple DES EDE Cipher Algorithms, sparc64 des opcode accelerated");
534 534  
535   -MODULE_ALIAS("des");
  535 +MODULE_ALIAS_CRYPTO("des");
536 536  
537 537 #include "crop_devid.c"
arch/sparc/crypto/md5_glue.c
... ... @@ -185,7 +185,7 @@
185 185 MODULE_LICENSE("GPL");
186 186 MODULE_DESCRIPTION("MD5 Secure Hash Algorithm, sparc64 md5 opcode accelerated");
187 187  
188   -MODULE_ALIAS("md5");
  188 +MODULE_ALIAS_CRYPTO("md5");
189 189  
190 190 #include "crop_devid.c"
arch/sparc/crypto/sha1_glue.c
... ... @@ -180,7 +180,7 @@
180 180 MODULE_LICENSE("GPL");
181 181 MODULE_DESCRIPTION("SHA1 Secure Hash Algorithm, sparc64 sha1 opcode accelerated");
182 182  
183   -MODULE_ALIAS("sha1");
  183 +MODULE_ALIAS_CRYPTO("sha1");
184 184  
185 185 #include "crop_devid.c"
arch/sparc/crypto/sha256_glue.c
... ... @@ -237,8 +237,8 @@
237 237 MODULE_LICENSE("GPL");
238 238 MODULE_DESCRIPTION("SHA-224 and SHA-256 Secure Hash Algorithm, sparc64 sha256 opcode accelerated");
239 239  
240   -MODULE_ALIAS("sha224");
241   -MODULE_ALIAS("sha256");
  240 +MODULE_ALIAS_CRYPTO("sha224");
  241 +MODULE_ALIAS_CRYPTO("sha256");
242 242  
243 243 #include "crop_devid.c"
arch/sparc/crypto/sha512_glue.c
... ... @@ -222,8 +222,8 @@
222 222 MODULE_LICENSE("GPL");
223 223 MODULE_DESCRIPTION("SHA-384 and SHA-512 Secure Hash Algorithm, sparc64 sha512 opcode accelerated");
224 224  
225   -MODULE_ALIAS("sha384");
226   -MODULE_ALIAS("sha512");
  225 +MODULE_ALIAS_CRYPTO("sha384");
  226 +MODULE_ALIAS_CRYPTO("sha512");
227 227  
228 228 #include "crop_devid.c"
arch/x86/crypto/aes_glue.c
... ... @@ -66,6 +66,6 @@
66 66  
67 67 MODULE_DESCRIPTION("Rijndael (AES) Cipher Algorithm, asm optimized");
68 68 MODULE_LICENSE("GPL");
69   -MODULE_ALIAS("aes");
70   -MODULE_ALIAS("aes-asm");
  69 +MODULE_ALIAS_CRYPTO("aes");
  70 +MODULE_ALIAS_CRYPTO("aes-asm");
arch/x86/crypto/aesni-intel_glue.c
... ... @@ -1550,5 +1550,5 @@
1550 1550  
1551 1551 MODULE_DESCRIPTION("Rijndael (AES) Cipher Algorithm, Intel AES-NI instructions optimized");
1552 1552 MODULE_LICENSE("GPL");
1553   -MODULE_ALIAS("aes");
  1553 +MODULE_ALIAS_CRYPTO("aes");
arch/x86/crypto/blowfish_glue.c
... ... @@ -478,6 +478,6 @@
478 478  
479 479 MODULE_LICENSE("GPL");
480 480 MODULE_DESCRIPTION("Blowfish Cipher Algorithm, asm optimized");
481   -MODULE_ALIAS("blowfish");
482   -MODULE_ALIAS("blowfish-asm");
  481 +MODULE_ALIAS_CRYPTO("blowfish");
  482 +MODULE_ALIAS_CRYPTO("blowfish-asm");
arch/x86/crypto/camellia_aesni_avx2_glue.c
... ... @@ -582,6 +582,6 @@
582 582  
583 583 MODULE_LICENSE("GPL");
584 584 MODULE_DESCRIPTION("Camellia Cipher Algorithm, AES-NI/AVX2 optimized");
585   -MODULE_ALIAS("camellia");
586   -MODULE_ALIAS("camellia-asm");
  585 +MODULE_ALIAS_CRYPTO("camellia");
  586 +MODULE_ALIAS_CRYPTO("camellia-asm");
arch/x86/crypto/camellia_aesni_avx_glue.c
... ... @@ -574,6 +574,6 @@
574 574  
575 575 MODULE_LICENSE("GPL");
576 576 MODULE_DESCRIPTION("Camellia Cipher Algorithm, AES-NI/AVX optimized");
577   -MODULE_ALIAS("camellia");
578   -MODULE_ALIAS("camellia-asm");
  577 +MODULE_ALIAS_CRYPTO("camellia");
  578 +MODULE_ALIAS_CRYPTO("camellia-asm");
arch/x86/crypto/camellia_glue.c
... ... @@ -1725,6 +1725,6 @@
1725 1725  
1726 1726 MODULE_LICENSE("GPL");
1727 1727 MODULE_DESCRIPTION("Camellia Cipher Algorithm, asm optimized");
1728   -MODULE_ALIAS("camellia");
1729   -MODULE_ALIAS("camellia-asm");
  1728 +MODULE_ALIAS_CRYPTO("camellia");
  1729 +MODULE_ALIAS_CRYPTO("camellia-asm");
arch/x86/crypto/cast5_avx_glue.c
... ... @@ -491,5 +491,5 @@
491 491  
492 492 MODULE_DESCRIPTION("Cast5 Cipher Algorithm, AVX optimized");
493 493 MODULE_LICENSE("GPL");
494   -MODULE_ALIAS("cast5");
  494 +MODULE_ALIAS_CRYPTO("cast5");
arch/x86/crypto/cast6_avx_glue.c
... ... @@ -611,5 +611,5 @@
611 611  
612 612 MODULE_DESCRIPTION("Cast6 Cipher Algorithm, AVX optimized");
613 613 MODULE_LICENSE("GPL");
614   -MODULE_ALIAS("cast6");
  614 +MODULE_ALIAS_CRYPTO("cast6");
arch/x86/crypto/crc32-pclmul_glue.c
... ... @@ -197,6 +197,6 @@
197 197 MODULE_AUTHOR("Alexander Boyko <alexander_boyko@xyratex.com>");
198 198 MODULE_LICENSE("GPL");
199 199  
200   -MODULE_ALIAS("crc32");
201   -MODULE_ALIAS("crc32-pclmul");
  200 +MODULE_ALIAS_CRYPTO("crc32");
  201 +MODULE_ALIAS_CRYPTO("crc32-pclmul");
arch/x86/crypto/crc32c-intel_glue.c
... ... @@ -280,6 +280,6 @@
280 280 MODULE_DESCRIPTION("CRC32c (Castagnoli) optimization using Intel Hardware.");
281 281 MODULE_LICENSE("GPL");
282 282  
283   -MODULE_ALIAS("crc32c");
284   -MODULE_ALIAS("crc32c-intel");
  283 +MODULE_ALIAS_CRYPTO("crc32c");
  284 +MODULE_ALIAS_CRYPTO("crc32c-intel");
arch/x86/crypto/crct10dif-pclmul_glue.c
... ... @@ -147,6 +147,6 @@
147 147 MODULE_DESCRIPTION("T10 DIF CRC calculation accelerated with PCLMULQDQ.");
148 148 MODULE_LICENSE("GPL");
149 149  
150   -MODULE_ALIAS("crct10dif");
151   -MODULE_ALIAS("crct10dif-pclmul");
  150 +MODULE_ALIAS_CRYPTO("crct10dif");
  151 +MODULE_ALIAS_CRYPTO("crct10dif-pclmul");
arch/x86/crypto/des3_ede_glue.c
... ... @@ -502,9 +502,9 @@
502 502  
503 503 MODULE_LICENSE("GPL");
504 504 MODULE_DESCRIPTION("Triple DES EDE Cipher Algorithm, asm optimized");
505   -MODULE_ALIAS("des3_ede");
506   -MODULE_ALIAS("des3_ede-asm");
507   -MODULE_ALIAS("des");
508   -MODULE_ALIAS("des-asm");
  505 +MODULE_ALIAS_CRYPTO("des3_ede");
  506 +MODULE_ALIAS_CRYPTO("des3_ede-asm");
  507 +MODULE_ALIAS_CRYPTO("des");
  508 +MODULE_ALIAS_CRYPTO("des-asm");
509 509 MODULE_AUTHOR("Jussi Kivilinna <jussi.kivilinna@iki.fi>");
arch/x86/crypto/ghash-clmulni-intel_glue.c
... ... @@ -341,5 +341,5 @@
341 341 MODULE_LICENSE("GPL");
342 342 MODULE_DESCRIPTION("GHASH Message Digest Algorithm, "
343 343 "acclerated by PCLMULQDQ-NI");
344   -MODULE_ALIAS("ghash");
  344 +MODULE_ALIAS_CRYPTO("ghash");
arch/x86/crypto/salsa20_glue.c
... ... @@ -119,6 +119,6 @@
119 119  
120 120 MODULE_LICENSE("GPL");
121 121 MODULE_DESCRIPTION ("Salsa20 stream cipher algorithm (optimized assembly version)");
122   -MODULE_ALIAS("salsa20");
123   -MODULE_ALIAS("salsa20-asm");
  122 +MODULE_ALIAS_CRYPTO("salsa20");
  123 +MODULE_ALIAS_CRYPTO("salsa20-asm");
arch/x86/crypto/serpent_avx2_glue.c
... ... @@ -558,6 +558,6 @@
558 558  
559 559 MODULE_LICENSE("GPL");
560 560 MODULE_DESCRIPTION("Serpent Cipher Algorithm, AVX2 optimized");
561   -MODULE_ALIAS("serpent");
562   -MODULE_ALIAS("serpent-asm");
  561 +MODULE_ALIAS_CRYPTO("serpent");
  562 +MODULE_ALIAS_CRYPTO("serpent-asm");
arch/x86/crypto/serpent_avx_glue.c
... ... @@ -617,5 +617,5 @@
617 617  
618 618 MODULE_DESCRIPTION("Serpent Cipher Algorithm, AVX optimized");
619 619 MODULE_LICENSE("GPL");
620   -MODULE_ALIAS("serpent");
  620 +MODULE_ALIAS_CRYPTO("serpent");
arch/x86/crypto/serpent_sse2_glue.c
... ... @@ -618,5 +618,5 @@
618 618  
619 619 MODULE_DESCRIPTION("Serpent Cipher Algorithm, SSE2 optimized");
620 620 MODULE_LICENSE("GPL");
621   -MODULE_ALIAS("serpent");
  621 +MODULE_ALIAS_CRYPTO("serpent");
arch/x86/crypto/sha1_ssse3_glue.c
... ... @@ -278,5 +278,5 @@
278 278 MODULE_LICENSE("GPL");
279 279 MODULE_DESCRIPTION("SHA1 Secure Hash Algorithm, Supplemental SSE3 accelerated");
280 280  
281   -MODULE_ALIAS("sha1");
  281 +MODULE_ALIAS_CRYPTO("sha1");
arch/x86/crypto/sha256_ssse3_glue.c
... ... @@ -318,6 +318,6 @@
318 318 MODULE_LICENSE("GPL");
319 319 MODULE_DESCRIPTION("SHA256 Secure Hash Algorithm, Supplemental SSE3 accelerated");
320 320  
321   -MODULE_ALIAS("sha256");
322   -MODULE_ALIAS("sha224");
  321 +MODULE_ALIAS_CRYPTO("sha256");
  322 +MODULE_ALIAS_CRYPTO("sha224");
arch/x86/crypto/sha512_ssse3_glue.c
... ... @@ -326,6 +326,6 @@
326 326 MODULE_LICENSE("GPL");
327 327 MODULE_DESCRIPTION("SHA512 Secure Hash Algorithm, Supplemental SSE3 accelerated");
328 328  
329   -MODULE_ALIAS("sha512");
330   -MODULE_ALIAS("sha384");
  329 +MODULE_ALIAS_CRYPTO("sha512");
  330 +MODULE_ALIAS_CRYPTO("sha384");
arch/x86/crypto/twofish_avx_glue.c
... ... @@ -579,5 +579,5 @@
579 579  
580 580 MODULE_DESCRIPTION("Twofish Cipher Algorithm, AVX optimized");
581 581 MODULE_LICENSE("GPL");
582   -MODULE_ALIAS("twofish");
  582 +MODULE_ALIAS_CRYPTO("twofish");
arch/x86/crypto/twofish_glue.c
... ... @@ -96,6 +96,6 @@
96 96  
97 97 MODULE_LICENSE("GPL");
98 98 MODULE_DESCRIPTION ("Twofish Cipher Algorithm, asm optimized");
99   -MODULE_ALIAS("twofish");
100   -MODULE_ALIAS("twofish-asm");
  99 +MODULE_ALIAS_CRYPTO("twofish");
  100 +MODULE_ALIAS_CRYPTO("twofish-asm");
arch/x86/crypto/twofish_glue_3way.c
... ... @@ -495,6 +495,6 @@
495 495  
496 496 MODULE_LICENSE("GPL");
497 497 MODULE_DESCRIPTION("Twofish Cipher Algorithm, 3-way parallel asm optimized");
498   -MODULE_ALIAS("twofish");
499   -MODULE_ALIAS("twofish-asm");
  498 +MODULE_ALIAS_CRYPTO("twofish");
  499 +MODULE_ALIAS_CRYPTO("twofish-asm");
... ... @@ -180,4 +180,5 @@
180 180  
181 181 MODULE_LICENSE("GPL");
182 182 MODULE_DESCRIPTION("842 Compression Algorithm");
  183 +MODULE_ALIAS_CRYPTO("842");
crypto/aes_generic.c
... ... @@ -1474,5 +1474,5 @@
1474 1474  
1475 1475 MODULE_DESCRIPTION("Rijndael (AES) Cipher Algorithm");
1476 1476 MODULE_LICENSE("Dual BSD/GPL");
1477   -MODULE_ALIAS("aes");
  1477 +MODULE_ALIAS_CRYPTO("aes");
... ... @@ -476,5 +476,5 @@
476 476 MODULE_PARM_DESC(dbg, "Boolean to enable debugging (0/1 == off/on)");
477 477 module_init(prng_mod_init);
478 478 module_exit(prng_mod_fini);
479   -MODULE_ALIAS("stdrng");
  479 +MODULE_ALIAS_CRYPTO("stdrng");
... ... @@ -704,4 +704,5 @@
704 704  
705 705 MODULE_LICENSE("GPL");
706 706 MODULE_DESCRIPTION("Anubis Cryptographic Algorithm");
  707 +MODULE_ALIAS_CRYPTO("anubis");
... ... @@ -216,11 +216,11 @@
216 216  
217 217 alg = crypto_alg_lookup(name, type, mask);
218 218 if (!alg) {
219   - request_module("%s", name);
  219 + request_module("crypto-%s", name);
220 220  
221 221 if (!((type ^ CRYPTO_ALG_NEED_FALLBACK) & mask &
222 222 CRYPTO_ALG_NEED_FALLBACK))
223   - request_module("%s-all", name);
  223 + request_module("crypto-%s-all", name);
224 224  
225 225 alg = crypto_alg_lookup(name, type, mask);
226 226 }
... ... @@ -166,4 +166,5 @@
166 166 MODULE_LICENSE("GPL");
167 167 MODULE_DESCRIPTION("ARC4 Cipher Algorithm");
168 168 MODULE_AUTHOR("Jon Oberheide <jon@oberheide.org>");
  169 +MODULE_ALIAS_CRYPTO("arc4");
crypto/blowfish_generic.c
... ... @@ -138,5 +138,5 @@
138 138  
139 139 MODULE_LICENSE("GPL");
140 140 MODULE_DESCRIPTION("Blowfish Cipher Algorithm");
141   -MODULE_ALIAS("blowfish");
  141 +MODULE_ALIAS_CRYPTO("blowfish");
crypto/camellia_generic.c
... ... @@ -1098,5 +1098,5 @@
1098 1098  
1099 1099 MODULE_DESCRIPTION("Camellia Cipher Algorithm");
1100 1100 MODULE_LICENSE("GPL");
1101   -MODULE_ALIAS("camellia");
  1101 +MODULE_ALIAS_CRYPTO("camellia");
crypto/cast5_generic.c
... ... @@ -549,5 +549,5 @@
549 549  
550 550 MODULE_LICENSE("GPL");
551 551 MODULE_DESCRIPTION("Cast5 Cipher Algorithm");
552   -MODULE_ALIAS("cast5");
  552 +MODULE_ALIAS_CRYPTO("cast5");
crypto/cast6_generic.c
... ... @@ -291,5 +291,5 @@
291 291  
292 292 MODULE_LICENSE("GPL");
293 293 MODULE_DESCRIPTION("Cast6 Cipher Algorithm");
294   -MODULE_ALIAS("cast6");
  294 +MODULE_ALIAS_CRYPTO("cast6");
... ... @@ -879,6 +879,6 @@
879 879  
880 880 MODULE_LICENSE("GPL");
881 881 MODULE_DESCRIPTION("Counter with CBC MAC");
882   -MODULE_ALIAS("ccm_base");
883   -MODULE_ALIAS("rfc4309");
  882 +MODULE_ALIAS_CRYPTO("ccm_base");
  883 +MODULE_ALIAS_CRYPTO("rfc4309");
... ... @@ -156,4 +156,5 @@
156 156 MODULE_AUTHOR("Alexander Boyko <alexander_boyko@xyratex.com>");
157 157 MODULE_DESCRIPTION("CRC32 calculations wrapper for lib/crc32");
158 158 MODULE_LICENSE("GPL");
  159 +MODULE_ALIAS_CRYPTO("crc32");
crypto/crc32c_generic.c
... ... @@ -170,6 +170,6 @@
170 170 MODULE_AUTHOR("Clay Haapala <chaapala@cisco.com>");
171 171 MODULE_DESCRIPTION("CRC32c (Castagnoli) calculations wrapper for lib/crc32c");
172 172 MODULE_LICENSE("GPL");
173   -MODULE_ALIAS("crc32c");
  173 +MODULE_ALIAS_CRYPTO("crc32c");
174 174 MODULE_SOFTDEP("pre: crc32c");
crypto/crct10dif_generic.c
... ... @@ -124,5 +124,5 @@
124 124 MODULE_AUTHOR("Tim Chen <tim.c.chen@linux.intel.com>");
125 125 MODULE_DESCRIPTION("T10 DIF CRC calculation.");
126 126 MODULE_LICENSE("GPL");
127   -MODULE_ALIAS("crct10dif");
  127 +MODULE_ALIAS_CRYPTO("crct10dif");
crypto/crypto_null.c
... ... @@ -145,9 +145,9 @@
145 145 .coa_decompress = null_compress } }
146 146 } };
147 147  
148   -MODULE_ALIAS("compress_null");
149   -MODULE_ALIAS("digest_null");
150   -MODULE_ALIAS("cipher_null");
  148 +MODULE_ALIAS_CRYPTO("compress_null");
  149 +MODULE_ALIAS_CRYPTO("digest_null");
  150 +MODULE_ALIAS_CRYPTO("cipher_null");
151 151  
152 152 static int __init crypto_null_mod_init(void)
153 153 {
... ... @@ -466,5 +466,5 @@
466 466  
467 467 MODULE_LICENSE("GPL");
468 468 MODULE_DESCRIPTION("CTR Counter block mode");
469   -MODULE_ALIAS("rfc3686");
  469 +MODULE_ALIAS_CRYPTO("rfc3686");
... ... @@ -222,4 +222,5 @@
222 222 MODULE_LICENSE("GPL");
223 223 MODULE_DESCRIPTION("Deflate Compression Algorithm for IPCOMP");
224 224 MODULE_AUTHOR("James Morris <jmorris@intercode.com.au>");
  225 +MODULE_ALIAS_CRYPTO("deflate");
crypto/des_generic.c
... ... @@ -983,7 +983,7 @@
983 983 .cia_decrypt = des3_ede_decrypt } }
984 984 } };
985 985  
986   -MODULE_ALIAS("des3_ede");
  986 +MODULE_ALIAS_CRYPTO("des3_ede");
987 987  
988 988 static int __init des_generic_mod_init(void)
989 989 {
... ... @@ -1001,5 +1001,5 @@
1001 1001 MODULE_LICENSE("GPL");
1002 1002 MODULE_DESCRIPTION("DES & Triple DES EDE Cipher Algorithms");
1003 1003 MODULE_AUTHOR("Dag Arne Osvik <da@osvik.no>");
1004   -MODULE_ALIAS("des");
  1004 +MODULE_ALIAS_CRYPTO("des");
... ... @@ -420,4 +420,5 @@
420 420 MODULE_LICENSE("Dual BSD/GPL");
421 421 MODULE_DESCRIPTION("FCrypt Cipher Algorithm");
422 422 MODULE_AUTHOR("David Howells <dhowells@redhat.com>");
  423 +MODULE_ALIAS_CRYPTO("fcrypt");
... ... @@ -1441,7 +1441,7 @@
1441 1441 MODULE_LICENSE("GPL");
1442 1442 MODULE_DESCRIPTION("Galois/Counter Mode");
1443 1443 MODULE_AUTHOR("Mikko Herranen <mh1@iki.fi>");
1444   -MODULE_ALIAS("gcm_base");
1445   -MODULE_ALIAS("rfc4106");
1446   -MODULE_ALIAS("rfc4543");
  1444 +MODULE_ALIAS_CRYPTO("gcm_base");
  1445 +MODULE_ALIAS_CRYPTO("rfc4106");
  1446 +MODULE_ALIAS_CRYPTO("rfc4543");
crypto/ghash-generic.c
... ... @@ -172,5 +172,5 @@
172 172  
173 173 MODULE_LICENSE("GPL");
174 174 MODULE_DESCRIPTION("GHASH Message Digest Algorithm");
175   -MODULE_ALIAS("ghash");
  175 +MODULE_ALIAS_CRYPTO("ghash");
... ... @@ -880,4 +880,5 @@
880 880  
881 881 MODULE_LICENSE("GPL");
882 882 MODULE_DESCRIPTION("Khazad Cryptographic Algorithm");
  883 +MODULE_ALIAS_CRYPTO("khazad");
... ... @@ -62,5 +62,5 @@
62 62  
63 63 MODULE_LICENSE("GPL");
64 64 MODULE_DESCRIPTION("Kernel Random Number Generator");
65   -MODULE_ALIAS("stdrng");
  65 +MODULE_ALIAS_CRYPTO("stdrng");
... ... @@ -104,4 +104,5 @@
104 104  
105 105 MODULE_LICENSE("GPL");
106 106 MODULE_DESCRIPTION("LZ4 Compression Algorithm");
  107 +MODULE_ALIAS_CRYPTO("lz4");
... ... @@ -104,4 +104,5 @@
104 104  
105 105 MODULE_LICENSE("GPL");
106 106 MODULE_DESCRIPTION("LZ4HC Compression Algorithm");
  107 +MODULE_ALIAS_CRYPTO("lz4hc");
... ... @@ -107,4 +107,5 @@
107 107  
108 108 MODULE_LICENSE("GPL");
109 109 MODULE_DESCRIPTION("LZO Compression Algorithm");
  110 +MODULE_ALIAS_CRYPTO("lzo");
... ... @@ -255,4 +255,5 @@
255 255  
256 256 MODULE_LICENSE("GPL");
257 257 MODULE_DESCRIPTION("MD4 Message Digest Algorithm");
  258 +MODULE_ALIAS_CRYPTO("md4");
... ... @@ -168,4 +168,5 @@
168 168  
169 169 MODULE_LICENSE("GPL");
170 170 MODULE_DESCRIPTION("MD5 Message Digest Algorithm");
  171 +MODULE_ALIAS_CRYPTO("md5");
crypto/michael_mic.c
... ... @@ -184,4 +184,5 @@
184 184 MODULE_LICENSE("GPL v2");
185 185 MODULE_DESCRIPTION("Michael MIC");
186 186 MODULE_AUTHOR("Jouni Malinen <j@w1.fi>");
  187 +MODULE_ALIAS_CRYPTO("michael_mic");
... ... @@ -327,4 +327,5 @@
327 327 MODULE_LICENSE("GPL");
328 328 MODULE_AUTHOR("Adrian-Ken Rueegsegger <ken@codelabs.ch>");
329 329 MODULE_DESCRIPTION("RIPEMD-128 Message Digest");
  330 +MODULE_ALIAS_CRYPTO("rmd128");
... ... @@ -371,4 +371,5 @@
371 371 MODULE_LICENSE("GPL");
372 372 MODULE_AUTHOR("Adrian-Ken Rueegsegger <ken@codelabs.ch>");
373 373 MODULE_DESCRIPTION("RIPEMD-160 Message Digest");
  374 +MODULE_ALIAS_CRYPTO("rmd160");
... ... @@ -346,4 +346,5 @@
346 346 MODULE_LICENSE("GPL");
347 347 MODULE_AUTHOR("Adrian-Ken Rueegsegger <ken@codelabs.ch>");
348 348 MODULE_DESCRIPTION("RIPEMD-256 Message Digest");
  349 +MODULE_ALIAS_CRYPTO("rmd256");
... ... @@ -395,4 +395,5 @@
395 395 MODULE_LICENSE("GPL");
396 396 MODULE_AUTHOR("Adrian-Ken Rueegsegger <ken@codelabs.ch>");
397 397 MODULE_DESCRIPTION("RIPEMD-320 Message Digest");
  398 +MODULE_ALIAS_CRYPTO("rmd320");
crypto/salsa20_generic.c
... ... @@ -248,5 +248,5 @@
248 248  
249 249 MODULE_LICENSE("GPL");
250 250 MODULE_DESCRIPTION ("Salsa20 stream cipher algorithm");
251   -MODULE_ALIAS("salsa20");
  251 +MODULE_ALIAS_CRYPTO("salsa20");
... ... @@ -476,4 +476,5 @@
476 476 MODULE_DESCRIPTION("SEED Cipher Algorithm");
477 477 MODULE_LICENSE("GPL");
478 478 MODULE_AUTHOR("Hye-Shik Chang <perky@FreeBSD.org>, Kim Hyun <hkim@kisa.or.kr>");
  479 +MODULE_ALIAS_CRYPTO("seed");
crypto/serpent_generic.c
... ... @@ -665,6 +665,6 @@
665 665 MODULE_LICENSE("GPL");
666 666 MODULE_DESCRIPTION("Serpent and tnepres (kerneli compatible serpent reversed) Cipher Algorithm");
667 667 MODULE_AUTHOR("Dag Arne Osvik <osvik@ii.uib.no>");
668   -MODULE_ALIAS("tnepres");
669   -MODULE_ALIAS("serpent");
  668 +MODULE_ALIAS_CRYPTO("tnepres");
  669 +MODULE_ALIAS_CRYPTO("serpent");
crypto/sha1_generic.c
... ... @@ -153,5 +153,5 @@
153 153 MODULE_LICENSE("GPL");
154 154 MODULE_DESCRIPTION("SHA1 Secure Hash Algorithm");
155 155  
156   -MODULE_ALIAS("sha1");
  156 +MODULE_ALIAS_CRYPTO("sha1");
crypto/sha256_generic.c
... ... @@ -384,6 +384,6 @@
384 384 MODULE_LICENSE("GPL");
385 385 MODULE_DESCRIPTION("SHA-224 and SHA-256 Secure Hash Algorithm");
386 386  
387   -MODULE_ALIAS("sha224");
388   -MODULE_ALIAS("sha256");
  387 +MODULE_ALIAS_CRYPTO("sha224");
  388 +MODULE_ALIAS_CRYPTO("sha256");
crypto/sha512_generic.c
... ... @@ -288,6 +288,6 @@
288 288 MODULE_LICENSE("GPL");
289 289 MODULE_DESCRIPTION("SHA-512 and SHA-384 Secure Hash Algorithms");
290 290  
291   -MODULE_ALIAS("sha384");
292   -MODULE_ALIAS("sha512");
  291 +MODULE_ALIAS_CRYPTO("sha384");
  292 +MODULE_ALIAS_CRYPTO("sha512");
... ... @@ -270,8 +270,8 @@
270 270 crypto_unregister_algs(tea_algs, ARRAY_SIZE(tea_algs));
271 271 }
272 272  
273   -MODULE_ALIAS("xtea");
274   -MODULE_ALIAS("xeta");
  273 +MODULE_ALIAS_CRYPTO("xtea");
  274 +MODULE_ALIAS_CRYPTO("xeta");
275 275  
276 276 module_init(tea_mod_init);
277 277 module_exit(tea_mod_fini);
... ... @@ -676,8 +676,8 @@
676 676 crypto_unregister_shashes(tgr_algs, ARRAY_SIZE(tgr_algs));
677 677 }
678 678  
679   -MODULE_ALIAS("tgr160");
680   -MODULE_ALIAS("tgr128");
  679 +MODULE_ALIAS_CRYPTO("tgr160");
  680 +MODULE_ALIAS_CRYPTO("tgr128");
681 681  
682 682 module_init(tgr192_mod_init);
683 683 module_exit(tgr192_mod_fini);
crypto/twofish_generic.c
... ... @@ -211,5 +211,5 @@
211 211  
212 212 MODULE_LICENSE("GPL");
213 213 MODULE_DESCRIPTION ("Twofish Cipher Algorithm");
214   -MODULE_ALIAS("twofish");
  214 +MODULE_ALIAS_CRYPTO("twofish");
... ... @@ -1167,8 +1167,8 @@
1167 1167 crypto_unregister_shashes(wp_algs, ARRAY_SIZE(wp_algs));
1168 1168 }
1169 1169  
1170   -MODULE_ALIAS("wp384");
1171   -MODULE_ALIAS("wp256");
  1170 +MODULE_ALIAS_CRYPTO("wp384");
  1171 +MODULE_ALIAS_CRYPTO("wp256");
1172 1172  
1173 1173 module_init(wp512_mod_init);
1174 1174 module_exit(wp512_mod_fini);
... ... @@ -378,4 +378,5 @@
378 378 MODULE_LICENSE("GPL");
379 379 MODULE_DESCRIPTION("Zlib Compression Algorithm");
380 380 MODULE_AUTHOR("Sony Corporation");
  381 +MODULE_ALIAS_CRYPTO("zlib");
drivers/crypto/padlock-aes.c
... ... @@ -563,5 +563,5 @@
563 563 MODULE_LICENSE("GPL");
564 564 MODULE_AUTHOR("Michal Ludvig");
565 565  
566   -MODULE_ALIAS("aes");
  566 +MODULE_ALIAS_CRYPTO("aes");
drivers/crypto/padlock-sha.c
... ... @@ -593,8 +593,8 @@
593 593 MODULE_LICENSE("GPL");
594 594 MODULE_AUTHOR("Michal Ludvig");
595 595  
596   -MODULE_ALIAS("sha1-all");
597   -MODULE_ALIAS("sha256-all");
598   -MODULE_ALIAS("sha1-padlock");
599   -MODULE_ALIAS("sha256-padlock");
  596 +MODULE_ALIAS_CRYPTO("sha1-all");
  597 +MODULE_ALIAS_CRYPTO("sha256-all");
  598 +MODULE_ALIAS_CRYPTO("sha1-padlock");
  599 +MODULE_ALIAS_CRYPTO("sha256-padlock");
drivers/crypto/qat/qat_common/adf_ctl_drv.c
... ... @@ -52,6 +52,7 @@
52 52 #include <linux/pci.h>
53 53 #include <linux/cdev.h>
54 54 #include <linux/uaccess.h>
  55 +#include <linux/crypto.h>
55 56  
56 57 #include "adf_accel_devices.h"
57 58 #include "adf_common_drv.h"
... ... @@ -487,5 +488,5 @@
487 488 MODULE_LICENSE("Dual BSD/GPL");
488 489 MODULE_AUTHOR("Intel");
489 490 MODULE_DESCRIPTION("Intel(R) QuickAssist Technology");
490   -MODULE_ALIAS("intel_qat");
  491 +MODULE_ALIAS_CRYPTO("intel_qat");
drivers/crypto/ux500/cryp/cryp_core.c
... ... @@ -1810,8 +1810,8 @@
1810 1810 module_param(cryp_mode, int, 0);
1811 1811  
1812 1812 MODULE_DESCRIPTION("Driver for ST-Ericsson UX500 CRYP crypto engine.");
1813   -MODULE_ALIAS("aes-all");
1814   -MODULE_ALIAS("des-all");
  1813 +MODULE_ALIAS_CRYPTO("aes-all");
  1814 +MODULE_ALIAS_CRYPTO("des-all");
1815 1815  
1816 1816 MODULE_LICENSE("GPL");
drivers/crypto/ux500/hash/hash_core.c
... ... @@ -1995,8 +1995,8 @@
1995 1995 MODULE_DESCRIPTION("Driver for ST-Ericsson UX500 HASH engine.");
1996 1996 MODULE_LICENSE("GPL");
1997 1997  
1998   -MODULE_ALIAS("sha1-all");
1999   -MODULE_ALIAS("sha256-all");
2000   -MODULE_ALIAS("hmac-sha1-all");
2001   -MODULE_ALIAS("hmac-sha256-all");
  1998 +MODULE_ALIAS_CRYPTO("sha1-all");
  1999 +MODULE_ALIAS_CRYPTO("sha256-all");
  2000 +MODULE_ALIAS_CRYPTO("hmac-sha1-all");
  2001 +MODULE_ALIAS_CRYPTO("hmac-sha256-all");
drivers/s390/crypto/ap_bus.c
... ... @@ -44,6 +44,7 @@
44 44 #include <linux/hrtimer.h>
45 45 #include <linux/ktime.h>
46 46 #include <asm/facility.h>
  47 +#include <linux/crypto.h>
47 48  
48 49 #include "ap_bus.h"
49 50  
... ... @@ -71,7 +72,7 @@
71 72 MODULE_DESCRIPTION("Adjunct Processor Bus driver, " \
72 73 "Copyright IBM Corp. 2006, 2012");
73 74 MODULE_LICENSE("GPL");
74   -MODULE_ALIAS("z90crypt");
  75 +MODULE_ALIAS_CRYPTO("z90crypt");
75 76  
76 77 /*
77 78 * Module parameter
include/linux/crypto.h
... ... @@ -26,6 +26,19 @@
26 26 #include <linux/uaccess.h>
27 27  
28 28 /*
  29 + * Autoloaded crypto modules should only use a prefixed name to avoid allowing
  30 + * arbitrary modules to be loaded. Loading from userspace may still need the
  31 + * unprefixed names, so retains those aliases as well.
  32 + * This uses __MODULE_INFO directly instead of MODULE_ALIAS because pre-4.3
  33 + * gcc (e.g. avr32 toolchain) uses __LINE__ for uniqueness, and this macro
  34 + * expands twice on the same line. Instead, use a separate base name for the
  35 + * alias.
  36 + */
  37 +#define MODULE_ALIAS_CRYPTO(name) \
  38 + __MODULE_INFO(alias, alias_userspace, name); \
  39 + __MODULE_INFO(alias, alias_crypto, "crypto-" name)
  40 +
  41 +/*
29 42 * Algorithm masks and types.
30 43 */
31 44 #define CRYPTO_ALG_TYPE_MASK 0x0000000f