Commit f2efa8653bb59eeaa47036222bf4dd9acc83aabf
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
- arch/arm/crypto/sha1_glue.c
- arch/arm/crypto/sha1_neon_glue.c
- arch/arm/crypto/sha512_neon_glue.c
- arch/arm64/crypto/aes-ce-ccm-glue.c
- arch/arm64/crypto/aes-glue.c
- arch/powerpc/crypto/sha1.c
- arch/s390/crypto/aes_s390.c
- arch/s390/crypto/des_s390.c
- arch/s390/crypto/ghash_s390.c
- arch/s390/crypto/sha1_s390.c
- arch/s390/crypto/sha256_s390.c
- arch/s390/crypto/sha512_s390.c
- arch/sparc/crypto/aes_glue.c
- arch/sparc/crypto/camellia_glue.c
- arch/sparc/crypto/crc32c_glue.c
- arch/sparc/crypto/des_glue.c
- arch/sparc/crypto/md5_glue.c
- arch/sparc/crypto/sha1_glue.c
- arch/sparc/crypto/sha256_glue.c
- arch/sparc/crypto/sha512_glue.c
- arch/x86/crypto/aes_glue.c
- arch/x86/crypto/aesni-intel_glue.c
- arch/x86/crypto/blowfish_glue.c
- arch/x86/crypto/camellia_aesni_avx2_glue.c
- arch/x86/crypto/camellia_aesni_avx_glue.c
- arch/x86/crypto/camellia_glue.c
- arch/x86/crypto/cast5_avx_glue.c
- arch/x86/crypto/cast6_avx_glue.c
- arch/x86/crypto/crc32-pclmul_glue.c
- arch/x86/crypto/crc32c-intel_glue.c
- arch/x86/crypto/crct10dif-pclmul_glue.c
- arch/x86/crypto/des3_ede_glue.c
- arch/x86/crypto/ghash-clmulni-intel_glue.c
- arch/x86/crypto/salsa20_glue.c
- arch/x86/crypto/serpent_avx2_glue.c
- arch/x86/crypto/serpent_avx_glue.c
- arch/x86/crypto/serpent_sse2_glue.c
- arch/x86/crypto/sha1_ssse3_glue.c
- arch/x86/crypto/sha256_ssse3_glue.c
- arch/x86/crypto/sha512_ssse3_glue.c
- arch/x86/crypto/twofish_avx_glue.c
- arch/x86/crypto/twofish_glue.c
- arch/x86/crypto/twofish_glue_3way.c
- crypto/842.c
- crypto/aes_generic.c
- crypto/ansi_cprng.c
- crypto/anubis.c
- crypto/api.c
- crypto/arc4.c
- crypto/blowfish_generic.c
- crypto/camellia_generic.c
- crypto/cast5_generic.c
- crypto/cast6_generic.c
- crypto/ccm.c
- crypto/crc32.c
- crypto/crc32c_generic.c
- crypto/crct10dif_generic.c
- crypto/crypto_null.c
- crypto/ctr.c
- crypto/deflate.c
- crypto/des_generic.c
- crypto/fcrypt.c
- crypto/gcm.c
- crypto/ghash-generic.c
- crypto/khazad.c
- crypto/krng.c
- crypto/lz4.c
- crypto/lz4hc.c
- crypto/lzo.c
- crypto/md4.c
- crypto/md5.c
- crypto/michael_mic.c
- crypto/rmd128.c
- crypto/rmd160.c
- crypto/rmd256.c
- crypto/rmd320.c
- crypto/salsa20_generic.c
- crypto/seed.c
- crypto/serpent_generic.c
- crypto/sha1_generic.c
- crypto/sha256_generic.c
- crypto/sha512_generic.c
- crypto/tea.c
- crypto/tgr192.c
- crypto/twofish_generic.c
- crypto/wp512.c
- crypto/zlib.c
- drivers/crypto/padlock-aes.c
- drivers/crypto/padlock-sha.c
- drivers/crypto/qat/qat_common/adf_ctl_drv.c
- drivers/crypto/ux500/cryp/cryp_core.c
- drivers/crypto/ux500/hash/hash_core.c
- drivers/s390/crypto/ap_bus.c
- include/linux/crypto.h
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
arch/arm/crypto/sha1_neon_glue.c
arch/arm/crypto/sha512_neon_glue.c
arch/arm64/crypto/aes-ce-ccm-glue.c
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
arch/s390/crypto/aes_s390.c
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
arch/s390/crypto/sha1_s390.c
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
arch/sparc/crypto/camellia_glue.c
arch/sparc/crypto/crc32c_glue.c
arch/sparc/crypto/des_glue.c
arch/sparc/crypto/md5_glue.c
arch/sparc/crypto/sha1_glue.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
arch/x86/crypto/aesni-intel_glue.c
arch/x86/crypto/blowfish_glue.c
arch/x86/crypto/camellia_aesni_avx2_glue.c
arch/x86/crypto/camellia_aesni_avx_glue.c
arch/x86/crypto/camellia_glue.c
arch/x86/crypto/cast5_avx_glue.c
arch/x86/crypto/cast6_avx_glue.c
arch/x86/crypto/crc32-pclmul_glue.c
arch/x86/crypto/crc32c-intel_glue.c
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
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
arch/x86/crypto/serpent_avx_glue.c
arch/x86/crypto/serpent_sse2_glue.c
arch/x86/crypto/sha1_ssse3_glue.c
arch/x86/crypto/sha256_ssse3_glue.c
arch/x86/crypto/sha512_ssse3_glue.c
arch/x86/crypto/twofish_avx_glue.c
arch/x86/crypto/twofish_glue.c
arch/x86/crypto/twofish_glue_3way.c
crypto/842.c
crypto/aes_generic.c
crypto/ansi_cprng.c
crypto/anubis.c
crypto/api.c
... | ... | @@ -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 | } |
crypto/arc4.c
crypto/blowfish_generic.c
crypto/camellia_generic.c
crypto/cast5_generic.c
crypto/cast6_generic.c
crypto/ccm.c
crypto/crc32.c
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
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 | { |
crypto/ctr.c
crypto/deflate.c
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"); |
crypto/fcrypt.c
crypto/gcm.c
... | ... | @@ -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
crypto/khazad.c
crypto/krng.c
crypto/lz4.c
crypto/lz4hc.c
crypto/lzo.c
crypto/md4.c
crypto/md5.c
crypto/michael_mic.c
crypto/rmd128.c
crypto/rmd160.c
crypto/rmd256.c
crypto/rmd320.c
crypto/salsa20_generic.c
crypto/seed.c
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
crypto/sha256_generic.c
crypto/sha512_generic.c
crypto/tea.c
... | ... | @@ -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); |
crypto/tgr192.c
... | ... | @@ -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
crypto/wp512.c
... | ... | @@ -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); |
crypto/zlib.c
drivers/crypto/padlock-aes.c
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 |