On 17 November 2014 21:02, Kees Cook <keescook@xxxxxxxxxxxx> wrote: > 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@xxxxxxxxxxxx> > --- > v2: > - added missing #include, thanks to minipli > - built with allmodconfig > --- > arch/arm/crypto/aes_glue.c | 4 ++-- > arch/arm/crypto/sha1_glue.c | 2 +- > arch/arm/crypto/sha1_neon_glue.c | 2 +- > arch/arm/crypto/sha512_neon_glue.c | 4 ++-- > arch/arm64/crypto/aes-ce-ccm-glue.c | 2 +- > arch/arm64/crypto/aes-glue.c | 8 ++++---- > arch/powerpc/crypto/sha1.c | 2 +- > arch/s390/crypto/aes_s390.c | 2 +- > arch/s390/crypto/des_s390.c | 4 ++-- > arch/s390/crypto/ghash_s390.c | 2 +- > arch/s390/crypto/sha1_s390.c | 2 +- > arch/s390/crypto/sha256_s390.c | 4 ++-- > arch/s390/crypto/sha512_s390.c | 4 ++-- > arch/sparc/crypto/aes_glue.c | 2 +- > arch/sparc/crypto/camellia_glue.c | 2 +- > arch/sparc/crypto/crc32c_glue.c | 2 +- > arch/sparc/crypto/des_glue.c | 2 +- > arch/sparc/crypto/md5_glue.c | 2 +- > arch/sparc/crypto/sha1_glue.c | 2 +- > arch/sparc/crypto/sha256_glue.c | 4 ++-- > arch/sparc/crypto/sha512_glue.c | 4 ++-- > arch/x86/crypto/aes_glue.c | 4 ++-- > arch/x86/crypto/aesni-intel_glue.c | 2 +- > arch/x86/crypto/blowfish_glue.c | 4 ++-- > arch/x86/crypto/camellia_aesni_avx2_glue.c | 4 ++-- > arch/x86/crypto/camellia_aesni_avx_glue.c | 4 ++-- > arch/x86/crypto/camellia_glue.c | 4 ++-- > arch/x86/crypto/cast5_avx_glue.c | 2 +- > arch/x86/crypto/cast6_avx_glue.c | 2 +- > arch/x86/crypto/crc32-pclmul_glue.c | 4 ++-- > arch/x86/crypto/crc32c-intel_glue.c | 4 ++-- > arch/x86/crypto/crct10dif-pclmul_glue.c | 4 ++-- > arch/x86/crypto/des3_ede_glue.c | 8 ++++---- > arch/x86/crypto/ghash-clmulni-intel_glue.c | 2 +- > arch/x86/crypto/salsa20_glue.c | 4 ++-- > arch/x86/crypto/serpent_avx2_glue.c | 4 ++-- > arch/x86/crypto/serpent_avx_glue.c | 2 +- > arch/x86/crypto/serpent_sse2_glue.c | 2 +- > arch/x86/crypto/sha1_ssse3_glue.c | 2 +- > arch/x86/crypto/sha256_ssse3_glue.c | 4 ++-- > arch/x86/crypto/sha512_ssse3_glue.c | 4 ++-- > arch/x86/crypto/twofish_avx_glue.c | 2 +- > arch/x86/crypto/twofish_glue.c | 4 ++-- > arch/x86/crypto/twofish_glue_3way.c | 4 ++-- > crypto/842.c | 1 + > crypto/aes_generic.c | 2 +- > crypto/ansi_cprng.c | 2 +- > crypto/anubis.c | 1 + > crypto/api.c | 4 ++-- > crypto/arc4.c | 1 + > crypto/blowfish_generic.c | 2 +- > crypto/camellia_generic.c | 2 +- > crypto/cast5_generic.c | 2 +- > crypto/cast6_generic.c | 2 +- > crypto/ccm.c | 4 ++-- > crypto/crc32.c | 1 + > crypto/crc32c_generic.c | 2 +- > crypto/crct10dif_generic.c | 2 +- > crypto/crypto_null.c | 6 +++--- > crypto/ctr.c | 2 +- > crypto/deflate.c | 2 +- > crypto/des_generic.c | 2 +- > crypto/fcrypt.c | 1 + > crypto/gcm.c | 6 +++--- > crypto/ghash-generic.c | 2 +- > crypto/khazad.c | 1 + > crypto/krng.c | 2 +- > crypto/lz4.c | 1 + > crypto/lz4hc.c | 1 + > crypto/lzo.c | 1 + > crypto/md4.c | 2 +- > crypto/md5.c | 1 + > crypto/michael_mic.c | 1 + > crypto/rmd128.c | 1 + > crypto/rmd160.c | 1 + > crypto/rmd256.c | 1 + > crypto/rmd320.c | 1 + > crypto/salsa20_generic.c | 2 +- > crypto/seed.c | 1 + > crypto/serpent_generic.c | 4 ++-- > crypto/sha1_generic.c | 2 +- > crypto/sha256_generic.c | 4 ++-- > crypto/sha512_generic.c | 4 ++-- > crypto/tea.c | 4 ++-- > crypto/tgr192.c | 4 ++-- > crypto/twofish_generic.c | 2 +- > crypto/wp512.c | 4 ++-- > crypto/zlib.c | 1 + > drivers/crypto/padlock-aes.c | 2 +- > drivers/crypto/padlock-sha.c | 8 ++++---- > drivers/crypto/qat/qat_common/adf_ctl_drv.c | 3 ++- > drivers/crypto/ux500/cryp/cryp_core.c | 4 ++-- > drivers/crypto/ux500/hash/hash_core.c | 8 ++++---- > drivers/s390/crypto/ap_bus.c | 2 +- > include/linux/crypto.h | 7 +++++++ > 95 files changed, 148 insertions(+), 123 deletions(-) > > diff --git a/arch/arm/crypto/aes_glue.c b/arch/arm/crypto/aes_glue.c > index 3003fa1f6fb4..0409b8f89782 100644 > --- a/arch/arm/crypto/aes_glue.c > +++ b/arch/arm/crypto/aes_glue.c > @@ -93,6 +93,6 @@ module_exit(aes_fini); > > MODULE_DESCRIPTION("Rijndael (AES) Cipher Algorithm (ASM)"); > MODULE_LICENSE("GPL"); > -MODULE_ALIAS("aes"); > -MODULE_ALIAS("aes-asm"); > +MODULE_ALIAS_CRYPTO("aes"); > +MODULE_ALIAS_CRYPTO("aes-asm"); > MODULE_AUTHOR("David McCullough <ucdevel@xxxxxxxxx>"); > diff --git a/arch/arm/crypto/sha1_glue.c b/arch/arm/crypto/sha1_glue.c > index 84f2a756588b..e31b0440c613 100644 > --- a/arch/arm/crypto/sha1_glue.c > +++ b/arch/arm/crypto/sha1_glue.c > @@ -171,5 +171,5 @@ module_exit(sha1_mod_fini); > > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("SHA1 Secure Hash Algorithm (ARM)"); > -MODULE_ALIAS("sha1"); > +MODULE_ALIAS_CRYPTO("sha1"); > MODULE_AUTHOR("David McCullough <ucdevel@xxxxxxxxx>"); > diff --git a/arch/arm/crypto/sha1_neon_glue.c b/arch/arm/crypto/sha1_neon_glue.c > index 6f1b411b1d55..0b0083757d47 100644 > --- a/arch/arm/crypto/sha1_neon_glue.c > +++ b/arch/arm/crypto/sha1_neon_glue.c > @@ -194,4 +194,4 @@ module_exit(sha1_neon_mod_fini); > > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("SHA1 Secure Hash Algorithm, NEON accelerated"); > -MODULE_ALIAS("sha1"); > +MODULE_ALIAS_CRYPTO("sha1"); > diff --git a/arch/arm/crypto/sha512_neon_glue.c b/arch/arm/crypto/sha512_neon_glue.c > index 0d2758ff5e12..f3452c66059d 100644 > --- a/arch/arm/crypto/sha512_neon_glue.c > +++ b/arch/arm/crypto/sha512_neon_glue.c > @@ -301,5 +301,5 @@ module_exit(sha512_neon_mod_fini); > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("SHA512 Secure Hash Algorithm, NEON accelerated"); > > -MODULE_ALIAS("sha512"); > -MODULE_ALIAS("sha384"); > +MODULE_ALIAS_CRYPTO("sha512"); > +MODULE_ALIAS_CRYPTO("sha384"); > diff --git a/arch/arm64/crypto/aes-ce-ccm-glue.c b/arch/arm64/crypto/aes-ce-ccm-glue.c > index 9e6cdde9b43d..0156a268e163 100644 > --- a/arch/arm64/crypto/aes-ce-ccm-glue.c > +++ b/arch/arm64/crypto/aes-ce-ccm-glue.c > @@ -294,4 +294,4 @@ module_exit(aes_mod_exit); > MODULE_DESCRIPTION("Synchronous AES in CCM mode using ARMv8 Crypto Extensions"); > MODULE_AUTHOR("Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>"); > MODULE_LICENSE("GPL v2"); > -MODULE_ALIAS("ccm(aes)"); > +MODULE_ALIAS_CRYPTO("ccm(aes)"); > diff --git a/arch/arm64/crypto/aes-glue.c b/arch/arm64/crypto/aes-glue.c > index 79cd911ef88c..5f63a791b2fb 100644 > --- a/arch/arm64/crypto/aes-glue.c > +++ b/arch/arm64/crypto/aes-glue.c > @@ -38,10 +38,10 @@ MODULE_DESCRIPTION("AES-ECB/CBC/CTR/XTS using ARMv8 Crypto Extensions"); > #define aes_xts_encrypt neon_aes_xts_encrypt > #define aes_xts_decrypt neon_aes_xts_decrypt > MODULE_DESCRIPTION("AES-ECB/CBC/CTR/XTS using ARMv8 NEON"); > -MODULE_ALIAS("ecb(aes)"); > -MODULE_ALIAS("cbc(aes)"); > -MODULE_ALIAS("ctr(aes)"); > -MODULE_ALIAS("xts(aes)"); > +MODULE_ALIAS_CRYPTO("ecb(aes)"); > +MODULE_ALIAS_CRYPTO("cbc(aes)"); > +MODULE_ALIAS_CRYPTO("ctr(aes)"); > +MODULE_ALIAS_CRYPTO("xts(aes)"); > #endif > > MODULE_AUTHOR("Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>"); > diff --git a/arch/powerpc/crypto/sha1.c b/arch/powerpc/crypto/sha1.c > index f9e8b9491efc..0f88c7b41119 100644 > --- a/arch/powerpc/crypto/sha1.c > +++ b/arch/powerpc/crypto/sha1.c > @@ -154,4 +154,4 @@ module_exit(sha1_powerpc_mod_fini); > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("SHA1 Secure Hash Algorithm"); > > -MODULE_ALIAS("sha1-powerpc"); > +MODULE_ALIAS_CRYPTO("sha1-powerpc"); > diff --git a/arch/s390/crypto/aes_s390.c b/arch/s390/crypto/aes_s390.c > index 23223cd63e54..1f272b24fc0b 100644 > --- a/arch/s390/crypto/aes_s390.c > +++ b/arch/s390/crypto/aes_s390.c > @@ -979,7 +979,7 @@ static void __exit aes_s390_fini(void) > module_init(aes_s390_init); > module_exit(aes_s390_fini); > > -MODULE_ALIAS("aes-all"); > +MODULE_ALIAS_CRYPTO("aes-all"); > > MODULE_DESCRIPTION("Rijndael (AES) Cipher Algorithm"); > MODULE_LICENSE("GPL"); > diff --git a/arch/s390/crypto/des_s390.c b/arch/s390/crypto/des_s390.c > index 7acb77f7ef1a..9e05cc453a40 100644 > --- a/arch/s390/crypto/des_s390.c > +++ b/arch/s390/crypto/des_s390.c > @@ -619,8 +619,8 @@ static void __exit des_s390_exit(void) > module_init(des_s390_init); > module_exit(des_s390_exit); > > -MODULE_ALIAS("des"); > -MODULE_ALIAS("des3_ede"); > +MODULE_ALIAS_CRYPTO("des"); > +MODULE_ALIAS_CRYPTO("des3_ede"); > > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("DES & Triple DES EDE Cipher Algorithms"); > diff --git a/arch/s390/crypto/ghash_s390.c b/arch/s390/crypto/ghash_s390.c > index d43485d142e9..7940dc90e80b 100644 > --- a/arch/s390/crypto/ghash_s390.c > +++ b/arch/s390/crypto/ghash_s390.c > @@ -160,7 +160,7 @@ static void __exit ghash_mod_exit(void) > module_init(ghash_mod_init); > module_exit(ghash_mod_exit); > > -MODULE_ALIAS("ghash"); > +MODULE_ALIAS_CRYPTO("ghash"); > > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("GHASH Message Digest Algorithm, s390 implementation"); > diff --git a/arch/s390/crypto/sha1_s390.c b/arch/s390/crypto/sha1_s390.c > index a1b3a9dc9d8a..5b2bee323694 100644 > --- a/arch/s390/crypto/sha1_s390.c > +++ b/arch/s390/crypto/sha1_s390.c > @@ -103,6 +103,6 @@ static void __exit sha1_s390_fini(void) > module_init(sha1_s390_init); > module_exit(sha1_s390_fini); > > -MODULE_ALIAS("sha1"); > +MODULE_ALIAS_CRYPTO("sha1"); > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("SHA1 Secure Hash Algorithm"); > diff --git a/arch/s390/crypto/sha256_s390.c b/arch/s390/crypto/sha256_s390.c > index 9b853809a492..b74ff158108c 100644 > --- a/arch/s390/crypto/sha256_s390.c > +++ b/arch/s390/crypto/sha256_s390.c > @@ -143,7 +143,7 @@ static void __exit sha256_s390_fini(void) > module_init(sha256_s390_init); > module_exit(sha256_s390_fini); > > -MODULE_ALIAS("sha256"); > -MODULE_ALIAS("sha224"); > +MODULE_ALIAS_CRYPTO("sha256"); > +MODULE_ALIAS_CRYPTO("sha224"); > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("SHA256 and SHA224 Secure Hash Algorithm"); > diff --git a/arch/s390/crypto/sha512_s390.c b/arch/s390/crypto/sha512_s390.c > index 32a81383b69c..0c36989ba182 100644 > --- a/arch/s390/crypto/sha512_s390.c > +++ b/arch/s390/crypto/sha512_s390.c > @@ -86,7 +86,7 @@ static struct shash_alg sha512_alg = { > } > }; > > -MODULE_ALIAS("sha512"); > +MODULE_ALIAS_CRYPTO("sha512"); > > static int sha384_init(struct shash_desc *desc) > { > @@ -126,7 +126,7 @@ static struct shash_alg sha384_alg = { > } > }; > > -MODULE_ALIAS("sha384"); > +MODULE_ALIAS_CRYPTO("sha384"); > > static int __init init(void) > { > diff --git a/arch/sparc/crypto/aes_glue.c b/arch/sparc/crypto/aes_glue.c > index df922f52d76d..705408766ab0 100644 > --- a/arch/sparc/crypto/aes_glue.c > +++ b/arch/sparc/crypto/aes_glue.c > @@ -499,6 +499,6 @@ module_exit(aes_sparc64_mod_fini); > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("AES Secure Hash Algorithm, sparc64 aes opcode accelerated"); > > -MODULE_ALIAS("aes"); > +MODULE_ALIAS_CRYPTO("aes"); > > #include "crop_devid.c" > diff --git a/arch/sparc/crypto/camellia_glue.c b/arch/sparc/crypto/camellia_glue.c > index 888f6260b4ec..641f55cb61c3 100644 > --- a/arch/sparc/crypto/camellia_glue.c > +++ b/arch/sparc/crypto/camellia_glue.c > @@ -322,6 +322,6 @@ module_exit(camellia_sparc64_mod_fini); > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("Camellia Cipher Algorithm, sparc64 camellia opcode accelerated"); > > -MODULE_ALIAS("aes"); > +MODULE_ALIAS_CRYPTO("aes"); > > #include "crop_devid.c" > diff --git a/arch/sparc/crypto/crc32c_glue.c b/arch/sparc/crypto/crc32c_glue.c > index 5162fad912ce..d1064e46efe8 100644 > --- a/arch/sparc/crypto/crc32c_glue.c > +++ b/arch/sparc/crypto/crc32c_glue.c > @@ -176,6 +176,6 @@ module_exit(crc32c_sparc64_mod_fini); > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("CRC32c (Castagnoli), sparc64 crc32c opcode accelerated"); > > -MODULE_ALIAS("crc32c"); > +MODULE_ALIAS_CRYPTO("crc32c"); > > #include "crop_devid.c" > diff --git a/arch/sparc/crypto/des_glue.c b/arch/sparc/crypto/des_glue.c > index 3065bc61f9d3..d11500972994 100644 > --- a/arch/sparc/crypto/des_glue.c > +++ b/arch/sparc/crypto/des_glue.c > @@ -532,6 +532,6 @@ module_exit(des_sparc64_mod_fini); > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("DES & Triple DES EDE Cipher Algorithms, sparc64 des opcode accelerated"); > > -MODULE_ALIAS("des"); > +MODULE_ALIAS_CRYPTO("des"); > > #include "crop_devid.c" > diff --git a/arch/sparc/crypto/md5_glue.c b/arch/sparc/crypto/md5_glue.c > index 09a9ea1dfb69..64c7ff5f72a9 100644 > --- a/arch/sparc/crypto/md5_glue.c > +++ b/arch/sparc/crypto/md5_glue.c > @@ -185,6 +185,6 @@ module_exit(md5_sparc64_mod_fini); > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("MD5 Secure Hash Algorithm, sparc64 md5 opcode accelerated"); > > -MODULE_ALIAS("md5"); > +MODULE_ALIAS_CRYPTO("md5"); > > #include "crop_devid.c" > diff --git a/arch/sparc/crypto/sha1_glue.c b/arch/sparc/crypto/sha1_glue.c > index 6cd5f29e1e0d..1b3e47accc74 100644 > --- a/arch/sparc/crypto/sha1_glue.c > +++ b/arch/sparc/crypto/sha1_glue.c > @@ -180,6 +180,6 @@ module_exit(sha1_sparc64_mod_fini); > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("SHA1 Secure Hash Algorithm, sparc64 sha1 opcode accelerated"); > > -MODULE_ALIAS("sha1"); > +MODULE_ALIAS_CRYPTO("sha1"); > > #include "crop_devid.c" > diff --git a/arch/sparc/crypto/sha256_glue.c b/arch/sparc/crypto/sha256_glue.c > index 04f555ab2680..41f27cca2a22 100644 > --- a/arch/sparc/crypto/sha256_glue.c > +++ b/arch/sparc/crypto/sha256_glue.c > @@ -237,7 +237,7 @@ module_exit(sha256_sparc64_mod_fini); > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("SHA-224 and SHA-256 Secure Hash Algorithm, sparc64 sha256 opcode accelerated"); > > -MODULE_ALIAS("sha224"); > -MODULE_ALIAS("sha256"); > +MODULE_ALIAS_CRYPTO("sha224"); > +MODULE_ALIAS_CRYPTO("sha256"); > > #include "crop_devid.c" > diff --git a/arch/sparc/crypto/sha512_glue.c b/arch/sparc/crypto/sha512_glue.c > index f04d1994d19a..9fff88541b8c 100644 > --- a/arch/sparc/crypto/sha512_glue.c > +++ b/arch/sparc/crypto/sha512_glue.c > @@ -222,7 +222,7 @@ module_exit(sha512_sparc64_mod_fini); > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("SHA-384 and SHA-512 Secure Hash Algorithm, sparc64 sha512 opcode accelerated"); > > -MODULE_ALIAS("sha384"); > -MODULE_ALIAS("sha512"); > +MODULE_ALIAS_CRYPTO("sha384"); > +MODULE_ALIAS_CRYPTO("sha512"); > > #include "crop_devid.c" > diff --git a/arch/x86/crypto/aes_glue.c b/arch/x86/crypto/aes_glue.c > index aafe8ce0d65d..e26984f7ab8d 100644 > --- a/arch/x86/crypto/aes_glue.c > +++ b/arch/x86/crypto/aes_glue.c > @@ -66,5 +66,5 @@ module_exit(aes_fini); > > MODULE_DESCRIPTION("Rijndael (AES) Cipher Algorithm, asm optimized"); > MODULE_LICENSE("GPL"); > -MODULE_ALIAS("aes"); > -MODULE_ALIAS("aes-asm"); > +MODULE_ALIAS_CRYPTO("aes"); > +MODULE_ALIAS_CRYPTO("aes-asm"); > diff --git a/arch/x86/crypto/aesni-intel_glue.c b/arch/x86/crypto/aesni-intel_glue.c > index 888950f29fd9..70fece226d17 100644 > --- a/arch/x86/crypto/aesni-intel_glue.c > +++ b/arch/x86/crypto/aesni-intel_glue.c > @@ -1550,4 +1550,4 @@ module_exit(aesni_exit); > > MODULE_DESCRIPTION("Rijndael (AES) Cipher Algorithm, Intel AES-NI instructions optimized"); > MODULE_LICENSE("GPL"); > -MODULE_ALIAS("aes"); > +MODULE_ALIAS_CRYPTO("aes"); > diff --git a/arch/x86/crypto/blowfish_glue.c b/arch/x86/crypto/blowfish_glue.c > index 8af519ed73d1..17c05531dfd1 100644 > --- a/arch/x86/crypto/blowfish_glue.c > +++ b/arch/x86/crypto/blowfish_glue.c > @@ -478,5 +478,5 @@ module_exit(fini); > > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("Blowfish Cipher Algorithm, asm optimized"); > -MODULE_ALIAS("blowfish"); > -MODULE_ALIAS("blowfish-asm"); > +MODULE_ALIAS_CRYPTO("blowfish"); > +MODULE_ALIAS_CRYPTO("blowfish-asm"); > diff --git a/arch/x86/crypto/camellia_aesni_avx2_glue.c b/arch/x86/crypto/camellia_aesni_avx2_glue.c > index 4209a76fcdaa..9a07fafe3831 100644 > --- a/arch/x86/crypto/camellia_aesni_avx2_glue.c > +++ b/arch/x86/crypto/camellia_aesni_avx2_glue.c > @@ -582,5 +582,5 @@ module_exit(camellia_aesni_fini); > > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("Camellia Cipher Algorithm, AES-NI/AVX2 optimized"); > -MODULE_ALIAS("camellia"); > -MODULE_ALIAS("camellia-asm"); > +MODULE_ALIAS_CRYPTO("camellia"); > +MODULE_ALIAS_CRYPTO("camellia-asm"); > diff --git a/arch/x86/crypto/camellia_aesni_avx_glue.c b/arch/x86/crypto/camellia_aesni_avx_glue.c > index 87a041a10f4a..ed38d959add6 100644 > --- a/arch/x86/crypto/camellia_aesni_avx_glue.c > +++ b/arch/x86/crypto/camellia_aesni_avx_glue.c > @@ -574,5 +574,5 @@ module_exit(camellia_aesni_fini); > > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("Camellia Cipher Algorithm, AES-NI/AVX optimized"); > -MODULE_ALIAS("camellia"); > -MODULE_ALIAS("camellia-asm"); > +MODULE_ALIAS_CRYPTO("camellia"); > +MODULE_ALIAS_CRYPTO("camellia-asm"); > diff --git a/arch/x86/crypto/camellia_glue.c b/arch/x86/crypto/camellia_glue.c > index c171dcbf192d..5c8b6266a394 100644 > --- a/arch/x86/crypto/camellia_glue.c > +++ b/arch/x86/crypto/camellia_glue.c > @@ -1725,5 +1725,5 @@ module_exit(fini); > > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("Camellia Cipher Algorithm, asm optimized"); > -MODULE_ALIAS("camellia"); > -MODULE_ALIAS("camellia-asm"); > +MODULE_ALIAS_CRYPTO("camellia"); > +MODULE_ALIAS_CRYPTO("camellia-asm"); > diff --git a/arch/x86/crypto/cast5_avx_glue.c b/arch/x86/crypto/cast5_avx_glue.c > index e57e20ab5e0b..60ada677a928 100644 > --- a/arch/x86/crypto/cast5_avx_glue.c > +++ b/arch/x86/crypto/cast5_avx_glue.c > @@ -491,4 +491,4 @@ module_exit(cast5_exit); > > MODULE_DESCRIPTION("Cast5 Cipher Algorithm, AVX optimized"); > MODULE_LICENSE("GPL"); > -MODULE_ALIAS("cast5"); > +MODULE_ALIAS_CRYPTO("cast5"); > diff --git a/arch/x86/crypto/cast6_avx_glue.c b/arch/x86/crypto/cast6_avx_glue.c > index 09f3677393e4..0160f68a57ff 100644 > --- a/arch/x86/crypto/cast6_avx_glue.c > +++ b/arch/x86/crypto/cast6_avx_glue.c > @@ -611,4 +611,4 @@ module_exit(cast6_exit); > > MODULE_DESCRIPTION("Cast6 Cipher Algorithm, AVX optimized"); > MODULE_LICENSE("GPL"); > -MODULE_ALIAS("cast6"); > +MODULE_ALIAS_CRYPTO("cast6"); > diff --git a/arch/x86/crypto/crc32-pclmul_glue.c b/arch/x86/crypto/crc32-pclmul_glue.c > index 9d014a74ef96..1937fc1d8763 100644 > --- a/arch/x86/crypto/crc32-pclmul_glue.c > +++ b/arch/x86/crypto/crc32-pclmul_glue.c > @@ -197,5 +197,5 @@ module_exit(crc32_pclmul_mod_fini); > MODULE_AUTHOR("Alexander Boyko <alexander_boyko@xxxxxxxxxxx>"); > MODULE_LICENSE("GPL"); > > -MODULE_ALIAS("crc32"); > -MODULE_ALIAS("crc32-pclmul"); > +MODULE_ALIAS_CRYPTO("crc32"); > +MODULE_ALIAS_CRYPTO("crc32-pclmul"); > diff --git a/arch/x86/crypto/crc32c-intel_glue.c b/arch/x86/crypto/crc32c-intel_glue.c > index 6812ad98355c..28640c3d6af7 100644 > --- a/arch/x86/crypto/crc32c-intel_glue.c > +++ b/arch/x86/crypto/crc32c-intel_glue.c > @@ -280,5 +280,5 @@ MODULE_AUTHOR("Austin Zhang <austin.zhang@xxxxxxxxx>, Kent Liu <kent.liu@intel.c > MODULE_DESCRIPTION("CRC32c (Castagnoli) optimization using Intel Hardware."); > MODULE_LICENSE("GPL"); > > -MODULE_ALIAS("crc32c"); > -MODULE_ALIAS("crc32c-intel"); > +MODULE_ALIAS_CRYPTO("crc32c"); > +MODULE_ALIAS_CRYPTO("crc32c-intel"); > diff --git a/arch/x86/crypto/crct10dif-pclmul_glue.c b/arch/x86/crypto/crct10dif-pclmul_glue.c > index 7845d7fd54c0..b6c67bf30fdf 100644 > --- a/arch/x86/crypto/crct10dif-pclmul_glue.c > +++ b/arch/x86/crypto/crct10dif-pclmul_glue.c > @@ -147,5 +147,5 @@ MODULE_AUTHOR("Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx>"); > MODULE_DESCRIPTION("T10 DIF CRC calculation accelerated with PCLMULQDQ."); > MODULE_LICENSE("GPL"); > > -MODULE_ALIAS("crct10dif"); > -MODULE_ALIAS("crct10dif-pclmul"); > +MODULE_ALIAS_CRYPTO("crct10dif"); > +MODULE_ALIAS_CRYPTO("crct10dif-pclmul"); > diff --git a/arch/x86/crypto/des3_ede_glue.c b/arch/x86/crypto/des3_ede_glue.c > index 0e9c0668fe4e..38a14f818ef1 100644 > --- a/arch/x86/crypto/des3_ede_glue.c > +++ b/arch/x86/crypto/des3_ede_glue.c > @@ -502,8 +502,8 @@ module_exit(des3_ede_x86_fini); > > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("Triple DES EDE Cipher Algorithm, asm optimized"); > -MODULE_ALIAS("des3_ede"); > -MODULE_ALIAS("des3_ede-asm"); > -MODULE_ALIAS("des"); > -MODULE_ALIAS("des-asm"); > +MODULE_ALIAS_CRYPTO("des3_ede"); > +MODULE_ALIAS_CRYPTO("des3_ede-asm"); > +MODULE_ALIAS_CRYPTO("des"); > +MODULE_ALIAS_CRYPTO("des-asm"); > MODULE_AUTHOR("Jussi Kivilinna <jussi.kivilinna@xxxxxx>"); > diff --git a/arch/x86/crypto/ghash-clmulni-intel_glue.c b/arch/x86/crypto/ghash-clmulni-intel_glue.c > index 88bb7ba8b175..8253d85aa165 100644 > --- a/arch/x86/crypto/ghash-clmulni-intel_glue.c > +++ b/arch/x86/crypto/ghash-clmulni-intel_glue.c > @@ -341,4 +341,4 @@ module_exit(ghash_pclmulqdqni_mod_exit); > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("GHASH Message Digest Algorithm, " > "acclerated by PCLMULQDQ-NI"); > -MODULE_ALIAS("ghash"); > +MODULE_ALIAS_CRYPTO("ghash"); > diff --git a/arch/x86/crypto/salsa20_glue.c b/arch/x86/crypto/salsa20_glue.c > index 5e8e67739bb5..399a29d067d6 100644 > --- a/arch/x86/crypto/salsa20_glue.c > +++ b/arch/x86/crypto/salsa20_glue.c > @@ -119,5 +119,5 @@ module_exit(fini); > > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION ("Salsa20 stream cipher algorithm (optimized assembly version)"); > -MODULE_ALIAS("salsa20"); > -MODULE_ALIAS("salsa20-asm"); > +MODULE_ALIAS_CRYPTO("salsa20"); > +MODULE_ALIAS_CRYPTO("salsa20-asm"); > diff --git a/arch/x86/crypto/serpent_avx2_glue.c b/arch/x86/crypto/serpent_avx2_glue.c > index 2fae489b1524..437e47a4d302 100644 > --- a/arch/x86/crypto/serpent_avx2_glue.c > +++ b/arch/x86/crypto/serpent_avx2_glue.c > @@ -558,5 +558,5 @@ module_exit(fini); > > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("Serpent Cipher Algorithm, AVX2 optimized"); > -MODULE_ALIAS("serpent"); > -MODULE_ALIAS("serpent-asm"); > +MODULE_ALIAS_CRYPTO("serpent"); > +MODULE_ALIAS_CRYPTO("serpent-asm"); > diff --git a/arch/x86/crypto/serpent_avx_glue.c b/arch/x86/crypto/serpent_avx_glue.c > index ff4870870972..7e217398b4eb 100644 > --- a/arch/x86/crypto/serpent_avx_glue.c > +++ b/arch/x86/crypto/serpent_avx_glue.c > @@ -617,4 +617,4 @@ module_exit(serpent_exit); > > MODULE_DESCRIPTION("Serpent Cipher Algorithm, AVX optimized"); > MODULE_LICENSE("GPL"); > -MODULE_ALIAS("serpent"); > +MODULE_ALIAS_CRYPTO("serpent"); > diff --git a/arch/x86/crypto/serpent_sse2_glue.c b/arch/x86/crypto/serpent_sse2_glue.c > index 8c95f8637306..bf025adaea01 100644 > --- a/arch/x86/crypto/serpent_sse2_glue.c > +++ b/arch/x86/crypto/serpent_sse2_glue.c > @@ -618,4 +618,4 @@ module_exit(serpent_sse2_exit); > > MODULE_DESCRIPTION("Serpent Cipher Algorithm, SSE2 optimized"); > MODULE_LICENSE("GPL"); > -MODULE_ALIAS("serpent"); > +MODULE_ALIAS_CRYPTO("serpent"); > diff --git a/arch/x86/crypto/sha1_ssse3_glue.c b/arch/x86/crypto/sha1_ssse3_glue.c > index 74d16ef707c7..6c20fe04a738 100644 > --- a/arch/x86/crypto/sha1_ssse3_glue.c > +++ b/arch/x86/crypto/sha1_ssse3_glue.c > @@ -278,4 +278,4 @@ module_exit(sha1_ssse3_mod_fini); > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("SHA1 Secure Hash Algorithm, Supplemental SSE3 accelerated"); > > -MODULE_ALIAS("sha1"); > +MODULE_ALIAS_CRYPTO("sha1"); > diff --git a/arch/x86/crypto/sha256_ssse3_glue.c b/arch/x86/crypto/sha256_ssse3_glue.c > index f248546da1ca..4dc100d82902 100644 > --- a/arch/x86/crypto/sha256_ssse3_glue.c > +++ b/arch/x86/crypto/sha256_ssse3_glue.c > @@ -318,5 +318,5 @@ module_exit(sha256_ssse3_mod_fini); > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("SHA256 Secure Hash Algorithm, Supplemental SSE3 accelerated"); > > -MODULE_ALIAS("sha256"); > -MODULE_ALIAS("sha224"); > +MODULE_ALIAS_CRYPTO("sha256"); > +MODULE_ALIAS_CRYPTO("sha224"); > diff --git a/arch/x86/crypto/sha512_ssse3_glue.c b/arch/x86/crypto/sha512_ssse3_glue.c > index 8626b03e83b7..26a5898a6f26 100644 > --- a/arch/x86/crypto/sha512_ssse3_glue.c > +++ b/arch/x86/crypto/sha512_ssse3_glue.c > @@ -326,5 +326,5 @@ module_exit(sha512_ssse3_mod_fini); > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("SHA512 Secure Hash Algorithm, Supplemental SSE3 accelerated"); > > -MODULE_ALIAS("sha512"); > -MODULE_ALIAS("sha384"); > +MODULE_ALIAS_CRYPTO("sha512"); > +MODULE_ALIAS_CRYPTO("sha384"); > diff --git a/arch/x86/crypto/twofish_avx_glue.c b/arch/x86/crypto/twofish_avx_glue.c > index 4e3c665be129..1ac531ea9bcc 100644 > --- a/arch/x86/crypto/twofish_avx_glue.c > +++ b/arch/x86/crypto/twofish_avx_glue.c > @@ -579,4 +579,4 @@ module_exit(twofish_exit); > > MODULE_DESCRIPTION("Twofish Cipher Algorithm, AVX optimized"); > MODULE_LICENSE("GPL"); > -MODULE_ALIAS("twofish"); > +MODULE_ALIAS_CRYPTO("twofish"); > diff --git a/arch/x86/crypto/twofish_glue.c b/arch/x86/crypto/twofish_glue.c > index 0a5202303501..77e06c2da83d 100644 > --- a/arch/x86/crypto/twofish_glue.c > +++ b/arch/x86/crypto/twofish_glue.c > @@ -96,5 +96,5 @@ module_exit(fini); > > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION ("Twofish Cipher Algorithm, asm optimized"); > -MODULE_ALIAS("twofish"); > -MODULE_ALIAS("twofish-asm"); > +MODULE_ALIAS_CRYPTO("twofish"); > +MODULE_ALIAS_CRYPTO("twofish-asm"); > diff --git a/arch/x86/crypto/twofish_glue_3way.c b/arch/x86/crypto/twofish_glue_3way.c > index 13e63b3e1dfb..56d8a08ee479 100644 > --- a/arch/x86/crypto/twofish_glue_3way.c > +++ b/arch/x86/crypto/twofish_glue_3way.c > @@ -495,5 +495,5 @@ module_exit(fini); > > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("Twofish Cipher Algorithm, 3-way parallel asm optimized"); > -MODULE_ALIAS("twofish"); > -MODULE_ALIAS("twofish-asm"); > +MODULE_ALIAS_CRYPTO("twofish"); > +MODULE_ALIAS_CRYPTO("twofish-asm"); > diff --git a/crypto/842.c b/crypto/842.c > index 65c7a89cfa09..b48f4f108c47 100644 > --- a/crypto/842.c > +++ b/crypto/842.c > @@ -180,3 +180,4 @@ module_exit(nx842_mod_exit); > > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("842 Compression Algorithm"); > +MODULE_ALIAS_CRYPTO("842"); > diff --git a/crypto/aes_generic.c b/crypto/aes_generic.c > index fd0d6b454975..9b3c54c1cbe8 100644 > --- a/crypto/aes_generic.c > +++ b/crypto/aes_generic.c > @@ -1474,4 +1474,4 @@ module_exit(aes_fini); > > MODULE_DESCRIPTION("Rijndael (AES) Cipher Algorithm"); > MODULE_LICENSE("Dual BSD/GPL"); > -MODULE_ALIAS("aes"); > +MODULE_ALIAS_CRYPTO("aes"); > diff --git a/crypto/ansi_cprng.c b/crypto/ansi_cprng.c > index 666f1962a160..b4485a108389 100644 > --- a/crypto/ansi_cprng.c > +++ b/crypto/ansi_cprng.c > @@ -476,4 +476,4 @@ module_param(dbg, int, 0); > MODULE_PARM_DESC(dbg, "Boolean to enable debugging (0/1 == off/on)"); > module_init(prng_mod_init); > module_exit(prng_mod_fini); > -MODULE_ALIAS("stdrng"); > +MODULE_ALIAS_CRYPTO("stdrng"); > diff --git a/crypto/anubis.c b/crypto/anubis.c > index 008c8a4fb67c..4bb187c2a902 100644 > --- a/crypto/anubis.c > +++ b/crypto/anubis.c > @@ -704,3 +704,4 @@ module_exit(anubis_mod_fini); > > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("Anubis Cryptographic Algorithm"); > +MODULE_ALIAS_CRYPTO("anubis"); > diff --git a/crypto/api.c b/crypto/api.c > index a2b39c5f3649..2a81e98a0021 100644 > --- a/crypto/api.c > +++ b/crypto/api.c > @@ -216,11 +216,11 @@ struct crypto_alg *crypto_larval_lookup(const char *name, u32 type, u32 mask) > > alg = crypto_alg_lookup(name, type, mask); > if (!alg) { > - request_module("%s", name); > + request_module("crypto-%s", name); > > if (!((type ^ CRYPTO_ALG_NEED_FALLBACK) & mask & > CRYPTO_ALG_NEED_FALLBACK)) > - request_module("%s-all", name); > + request_module("crypto-%s-all", name); > > alg = crypto_alg_lookup(name, type, mask); > } > diff --git a/crypto/arc4.c b/crypto/arc4.c > index 5a772c3657d5..f1a81925558f 100644 > --- a/crypto/arc4.c > +++ b/crypto/arc4.c > @@ -166,3 +166,4 @@ module_exit(arc4_exit); > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("ARC4 Cipher Algorithm"); > MODULE_AUTHOR("Jon Oberheide <jon@xxxxxxxxxxxxx>"); > +MODULE_ALIAS_CRYPTO("arc4"); > diff --git a/crypto/blowfish_generic.c b/crypto/blowfish_generic.c > index 8baf5447d35b..7bd71f02d0dd 100644 > --- a/crypto/blowfish_generic.c > +++ b/crypto/blowfish_generic.c > @@ -138,4 +138,4 @@ module_exit(blowfish_mod_fini); > > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("Blowfish Cipher Algorithm"); > -MODULE_ALIAS("blowfish"); > +MODULE_ALIAS_CRYPTO("blowfish"); > diff --git a/crypto/camellia_generic.c b/crypto/camellia_generic.c > index 26bcd7a2d6b4..1b74c5a3e891 100644 > --- a/crypto/camellia_generic.c > +++ b/crypto/camellia_generic.c > @@ -1098,4 +1098,4 @@ module_exit(camellia_fini); > > MODULE_DESCRIPTION("Camellia Cipher Algorithm"); > MODULE_LICENSE("GPL"); > -MODULE_ALIAS("camellia"); > +MODULE_ALIAS_CRYPTO("camellia"); > diff --git a/crypto/cast5_generic.c b/crypto/cast5_generic.c > index 5558f630a0eb..84c86db67ec7 100644 > --- a/crypto/cast5_generic.c > +++ b/crypto/cast5_generic.c > @@ -549,4 +549,4 @@ module_exit(cast5_mod_fini); > > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("Cast5 Cipher Algorithm"); > -MODULE_ALIAS("cast5"); > +MODULE_ALIAS_CRYPTO("cast5"); > diff --git a/crypto/cast6_generic.c b/crypto/cast6_generic.c > index de732528a430..f408f0bd8de2 100644 > --- a/crypto/cast6_generic.c > +++ b/crypto/cast6_generic.c > @@ -291,4 +291,4 @@ module_exit(cast6_mod_fini); > > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("Cast6 Cipher Algorithm"); > -MODULE_ALIAS("cast6"); > +MODULE_ALIAS_CRYPTO("cast6"); > diff --git a/crypto/ccm.c b/crypto/ccm.c > index 1df84217f7c9..647575b41281 100644 > --- a/crypto/ccm.c > +++ b/crypto/ccm.c > @@ -879,5 +879,5 @@ module_exit(crypto_ccm_module_exit); > > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("Counter with CBC MAC"); > -MODULE_ALIAS("ccm_base"); > -MODULE_ALIAS("rfc4309"); > +MODULE_ALIAS_CRYPTO("ccm_base"); > +MODULE_ALIAS_CRYPTO("rfc4309"); > diff --git a/crypto/crc32.c b/crypto/crc32.c > index 9d1c41569898..187ded28cb0b 100644 > --- a/crypto/crc32.c > +++ b/crypto/crc32.c > @@ -156,3 +156,4 @@ module_exit(crc32_mod_fini); > MODULE_AUTHOR("Alexander Boyko <alexander_boyko@xxxxxxxxxxx>"); > MODULE_DESCRIPTION("CRC32 calculations wrapper for lib/crc32"); > MODULE_LICENSE("GPL"); > +MODULE_ALIAS_CRYPTO("crc32"); > diff --git a/crypto/crc32c_generic.c b/crypto/crc32c_generic.c > index d9c7beba8e50..2a062025749d 100644 > --- a/crypto/crc32c_generic.c > +++ b/crypto/crc32c_generic.c > @@ -170,5 +170,5 @@ module_exit(crc32c_mod_fini); > MODULE_AUTHOR("Clay Haapala <chaapala@xxxxxxxxx>"); > MODULE_DESCRIPTION("CRC32c (Castagnoli) calculations wrapper for lib/crc32c"); > MODULE_LICENSE("GPL"); > -MODULE_ALIAS("crc32c"); > +MODULE_ALIAS_CRYPTO("crc32c"); > MODULE_SOFTDEP("pre: crc32c"); > diff --git a/crypto/crct10dif_generic.c b/crypto/crct10dif_generic.c > index 877e7114ec5c..08bb4f504520 100644 > --- a/crypto/crct10dif_generic.c > +++ b/crypto/crct10dif_generic.c > @@ -124,4 +124,4 @@ module_exit(crct10dif_mod_fini); > MODULE_AUTHOR("Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx>"); > MODULE_DESCRIPTION("T10 DIF CRC calculation."); > MODULE_LICENSE("GPL"); > -MODULE_ALIAS("crct10dif"); > +MODULE_ALIAS_CRYPTO("crct10dif"); > diff --git a/crypto/crypto_null.c b/crypto/crypto_null.c > index 1dc54bb95a87..a20319132e33 100644 > --- a/crypto/crypto_null.c > +++ b/crypto/crypto_null.c > @@ -145,9 +145,9 @@ static struct crypto_alg null_algs[3] = { { > .coa_decompress = null_compress } } > } }; > > -MODULE_ALIAS("compress_null"); > -MODULE_ALIAS("digest_null"); > -MODULE_ALIAS("cipher_null"); > +MODULE_ALIAS_CRYPTO("compress_null"); > +MODULE_ALIAS_CRYPTO("digest_null"); > +MODULE_ALIAS_CRYPTO("cipher_null"); > > static int __init crypto_null_mod_init(void) > { > diff --git a/crypto/ctr.c b/crypto/ctr.c > index f2b94f27bb2c..3d81ff7e6b48 100644 > --- a/crypto/ctr.c > +++ b/crypto/ctr.c > @@ -466,4 +466,4 @@ module_exit(crypto_ctr_module_exit); > > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("CTR Counter block mode"); > -MODULE_ALIAS("rfc3686"); > +MODULE_ALIAS_CRYPTO("rfc3686"); > diff --git a/crypto/deflate.c b/crypto/deflate.c > index b57d70eb156b..95d8d37c5021 100644 > --- a/crypto/deflate.c > +++ b/crypto/deflate.c > @@ -222,4 +222,4 @@ module_exit(deflate_mod_fini); > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("Deflate Compression Algorithm for IPCOMP"); > MODULE_AUTHOR("James Morris <jmorris@xxxxxxxxxxxxxxxx>"); > - > +MODULE_ALIAS_CRYPTO("deflate"); > diff --git a/crypto/des_generic.c b/crypto/des_generic.c > index 298d464ab7d2..42912948776b 100644 > --- a/crypto/des_generic.c > +++ b/crypto/des_generic.c > @@ -983,7 +983,7 @@ static struct crypto_alg des_algs[2] = { { > .cia_decrypt = des3_ede_decrypt } } > } }; > > -MODULE_ALIAS("des3_ede"); > +MODULE_ALIAS_CRYPTO("des3_ede"); > > static int __init des_generic_mod_init(void) > { > diff --git a/crypto/fcrypt.c b/crypto/fcrypt.c > index 021d7fec6bc8..77286ea28865 100644 > --- a/crypto/fcrypt.c > +++ b/crypto/fcrypt.c > @@ -420,3 +420,4 @@ module_exit(fcrypt_mod_fini); > MODULE_LICENSE("Dual BSD/GPL"); > MODULE_DESCRIPTION("FCrypt Cipher Algorithm"); > MODULE_AUTHOR("David Howells <dhowells@xxxxxxxxxx>"); > +MODULE_ALIAS_CRYPTO("fcrypt"); > diff --git a/crypto/gcm.c b/crypto/gcm.c > index 276cdac567b6..aefb74a3f522 100644 > --- a/crypto/gcm.c > +++ b/crypto/gcm.c > @@ -1441,6 +1441,6 @@ module_exit(crypto_gcm_module_exit); > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("Galois/Counter Mode"); > MODULE_AUTHOR("Mikko Herranen <mh1@xxxxxx>"); > -MODULE_ALIAS("gcm_base"); > -MODULE_ALIAS("rfc4106"); > -MODULE_ALIAS("rfc4543"); > +MODULE_ALIAS_CRYPTO("gcm_base"); > +MODULE_ALIAS_CRYPTO("rfc4106"); > +MODULE_ALIAS_CRYPTO("rfc4543"); > diff --git a/crypto/ghash-generic.c b/crypto/ghash-generic.c > index 9d3f0c69a86f..4e97fae9666f 100644 > --- a/crypto/ghash-generic.c > +++ b/crypto/ghash-generic.c > @@ -172,4 +172,4 @@ module_exit(ghash_mod_exit); > > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("GHASH Message Digest Algorithm"); > -MODULE_ALIAS("ghash"); > +MODULE_ALIAS_CRYPTO("ghash"); > diff --git a/crypto/khazad.c b/crypto/khazad.c > index 60e7cd66facc..873eb5ded6d7 100644 > --- a/crypto/khazad.c > +++ b/crypto/khazad.c > @@ -880,3 +880,4 @@ module_exit(khazad_mod_fini); > > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("Khazad Cryptographic Algorithm"); > +MODULE_ALIAS_CRYPTO("khazad"); > diff --git a/crypto/krng.c b/crypto/krng.c > index a2d2b72fc135..67c88b331210 100644 > --- a/crypto/krng.c > +++ b/crypto/krng.c > @@ -62,4 +62,4 @@ module_exit(krng_mod_fini); > > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("Kernel Random Number Generator"); > -MODULE_ALIAS("stdrng"); > +MODULE_ALIAS_CRYPTO("stdrng"); > diff --git a/crypto/lz4.c b/crypto/lz4.c > index 34d072b72a73..aefbceaf3104 100644 > --- a/crypto/lz4.c > +++ b/crypto/lz4.c > @@ -104,3 +104,4 @@ module_exit(lz4_mod_fini); > > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("LZ4 Compression Algorithm"); > +MODULE_ALIAS_CRYPTO("lz4"); > diff --git a/crypto/lz4hc.c b/crypto/lz4hc.c > index 9218b3fed5e3..a1d3b5bd3d85 100644 > --- a/crypto/lz4hc.c > +++ b/crypto/lz4hc.c > @@ -104,3 +104,4 @@ module_exit(lz4hc_mod_fini); > > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("LZ4HC Compression Algorithm"); > +MODULE_ALIAS_CRYPTO("lz4hc"); > diff --git a/crypto/lzo.c b/crypto/lzo.c > index a8ff2f778dc4..4b3e92525dac 100644 > --- a/crypto/lzo.c > +++ b/crypto/lzo.c > @@ -107,3 +107,4 @@ module_exit(lzo_mod_fini); > > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("LZO Compression Algorithm"); > +MODULE_ALIAS_CRYPTO("lzo"); > diff --git a/crypto/md4.c b/crypto/md4.c > index 0477a6a01d58..3515af425cc9 100644 > --- a/crypto/md4.c > +++ b/crypto/md4.c > @@ -255,4 +255,4 @@ module_exit(md4_mod_fini); > > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("MD4 Message Digest Algorithm"); > - > +MODULE_ALIAS_CRYPTO("md4"); > diff --git a/crypto/md5.c b/crypto/md5.c > index 7febeaab923b..36f5e5b103f3 100644 > --- a/crypto/md5.c > +++ b/crypto/md5.c > @@ -168,3 +168,4 @@ module_exit(md5_mod_fini); > > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("MD5 Message Digest Algorithm"); > +MODULE_ALIAS_CRYPTO("md5"); > diff --git a/crypto/michael_mic.c b/crypto/michael_mic.c > index 079b761bc70d..46195e0d0f4d 100644 > --- a/crypto/michael_mic.c > +++ b/crypto/michael_mic.c > @@ -184,3 +184,4 @@ module_exit(michael_mic_exit); > MODULE_LICENSE("GPL v2"); > MODULE_DESCRIPTION("Michael MIC"); > MODULE_AUTHOR("Jouni Malinen <j@xxxxx>"); > +MODULE_ALIAS_CRYPTO("michael_mic"); > diff --git a/crypto/rmd128.c b/crypto/rmd128.c > index 8a0f68b7f257..049486ede938 100644 > --- a/crypto/rmd128.c > +++ b/crypto/rmd128.c > @@ -327,3 +327,4 @@ module_exit(rmd128_mod_fini); > MODULE_LICENSE("GPL"); > MODULE_AUTHOR("Adrian-Ken Rueegsegger <ken@xxxxxxxxxxx>"); > MODULE_DESCRIPTION("RIPEMD-128 Message Digest"); > +MODULE_ALIAS_CRYPTO("rmd128"); > diff --git a/crypto/rmd160.c b/crypto/rmd160.c > index 525d7bb752cf..de585e51d455 100644 > --- a/crypto/rmd160.c > +++ b/crypto/rmd160.c > @@ -371,3 +371,4 @@ module_exit(rmd160_mod_fini); > MODULE_LICENSE("GPL"); > MODULE_AUTHOR("Adrian-Ken Rueegsegger <ken@xxxxxxxxxxx>"); > MODULE_DESCRIPTION("RIPEMD-160 Message Digest"); > +MODULE_ALIAS_CRYPTO("rmd160"); > diff --git a/crypto/rmd256.c b/crypto/rmd256.c > index 69293d9b56e0..4ec02a754e09 100644 > --- a/crypto/rmd256.c > +++ b/crypto/rmd256.c > @@ -346,3 +346,4 @@ module_exit(rmd256_mod_fini); > MODULE_LICENSE("GPL"); > MODULE_AUTHOR("Adrian-Ken Rueegsegger <ken@xxxxxxxxxxx>"); > MODULE_DESCRIPTION("RIPEMD-256 Message Digest"); > +MODULE_ALIAS_CRYPTO("rmd256"); > diff --git a/crypto/rmd320.c b/crypto/rmd320.c > index 09f97dfdfbba..770f2cb369f8 100644 > --- a/crypto/rmd320.c > +++ b/crypto/rmd320.c > @@ -395,3 +395,4 @@ module_exit(rmd320_mod_fini); > MODULE_LICENSE("GPL"); > MODULE_AUTHOR("Adrian-Ken Rueegsegger <ken@xxxxxxxxxxx>"); > MODULE_DESCRIPTION("RIPEMD-320 Message Digest"); > +MODULE_ALIAS_CRYPTO("rmd320"); > diff --git a/crypto/salsa20_generic.c b/crypto/salsa20_generic.c > index 9a4770c02284..3d0f9df30ac9 100644 > --- a/crypto/salsa20_generic.c > +++ b/crypto/salsa20_generic.c > @@ -248,4 +248,4 @@ module_exit(salsa20_generic_mod_fini); > > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION ("Salsa20 stream cipher algorithm"); > -MODULE_ALIAS("salsa20"); > +MODULE_ALIAS_CRYPTO("salsa20"); > diff --git a/crypto/seed.c b/crypto/seed.c > index 9c904d6d2151..c6ba8438be43 100644 > --- a/crypto/seed.c > +++ b/crypto/seed.c > @@ -476,3 +476,4 @@ module_exit(seed_fini); > MODULE_DESCRIPTION("SEED Cipher Algorithm"); > MODULE_LICENSE("GPL"); > MODULE_AUTHOR("Hye-Shik Chang <perky@xxxxxxxxxxx>, Kim Hyun <hkim@xxxxxxxxxx>"); > +MODULE_ALIAS_CRYPTO("seed"); > diff --git a/crypto/serpent_generic.c b/crypto/serpent_generic.c > index 7ddbd7e88859..a53b5e2af335 100644 > --- a/crypto/serpent_generic.c > +++ b/crypto/serpent_generic.c > @@ -665,5 +665,5 @@ module_exit(serpent_mod_fini); > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("Serpent and tnepres (kerneli compatible serpent reversed) Cipher Algorithm"); > MODULE_AUTHOR("Dag Arne Osvik <osvik@xxxxxxxxx>"); > -MODULE_ALIAS("tnepres"); > -MODULE_ALIAS("serpent"); > +MODULE_ALIAS_CRYPTO("tnepres"); > +MODULE_ALIAS_CRYPTO("serpent"); > diff --git a/crypto/sha1_generic.c b/crypto/sha1_generic.c > index 7bb047432782..039e58cfa155 100644 > --- a/crypto/sha1_generic.c > +++ b/crypto/sha1_generic.c > @@ -153,4 +153,4 @@ module_exit(sha1_generic_mod_fini); > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("SHA1 Secure Hash Algorithm"); > > -MODULE_ALIAS("sha1"); > +MODULE_ALIAS_CRYPTO("sha1"); > diff --git a/crypto/sha256_generic.c b/crypto/sha256_generic.c > index 65e7b76b057f..5eb21b120033 100644 > --- a/crypto/sha256_generic.c > +++ b/crypto/sha256_generic.c > @@ -384,5 +384,5 @@ module_exit(sha256_generic_mod_fini); > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("SHA-224 and SHA-256 Secure Hash Algorithm"); > > -MODULE_ALIAS("sha224"); > -MODULE_ALIAS("sha256"); > +MODULE_ALIAS_CRYPTO("sha224"); > +MODULE_ALIAS_CRYPTO("sha256"); > diff --git a/crypto/sha512_generic.c b/crypto/sha512_generic.c > index 95db67197cd9..8d0b19ed4f4b 100644 > --- a/crypto/sha512_generic.c > +++ b/crypto/sha512_generic.c > @@ -288,5 +288,5 @@ module_exit(sha512_generic_mod_fini); > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("SHA-512 and SHA-384 Secure Hash Algorithms"); > > -MODULE_ALIAS("sha384"); > -MODULE_ALIAS("sha512"); > +MODULE_ALIAS_CRYPTO("sha384"); > +MODULE_ALIAS_CRYPTO("sha512"); > diff --git a/crypto/tea.c b/crypto/tea.c > index 0a572323ee4a..495be2d0077d 100644 > --- a/crypto/tea.c > +++ b/crypto/tea.c > @@ -270,8 +270,8 @@ static void __exit tea_mod_fini(void) > crypto_unregister_algs(tea_algs, ARRAY_SIZE(tea_algs)); > } > > -MODULE_ALIAS("xtea"); > -MODULE_ALIAS("xeta"); > +MODULE_ALIAS_CRYPTO("xtea"); > +MODULE_ALIAS_CRYPTO("xeta"); > > module_init(tea_mod_init); > module_exit(tea_mod_fini); > diff --git a/crypto/tgr192.c b/crypto/tgr192.c > index 3c7af0d1ff7a..6e5651c66cf8 100644 > --- a/crypto/tgr192.c > +++ b/crypto/tgr192.c > @@ -676,8 +676,8 @@ static void __exit tgr192_mod_fini(void) > crypto_unregister_shashes(tgr_algs, ARRAY_SIZE(tgr_algs)); > } > > -MODULE_ALIAS("tgr160"); > -MODULE_ALIAS("tgr128"); > +MODULE_ALIAS_CRYPTO("tgr160"); > +MODULE_ALIAS_CRYPTO("tgr128"); > > module_init(tgr192_mod_init); > module_exit(tgr192_mod_fini); > diff --git a/crypto/twofish_generic.c b/crypto/twofish_generic.c > index 2d5000552d0f..523ad8c4e359 100644 > --- a/crypto/twofish_generic.c > +++ b/crypto/twofish_generic.c > @@ -211,4 +211,4 @@ module_exit(twofish_mod_fini); > > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION ("Twofish Cipher Algorithm"); > -MODULE_ALIAS("twofish"); > +MODULE_ALIAS_CRYPTO("twofish"); > diff --git a/crypto/wp512.c b/crypto/wp512.c > index ec64e7762fbb..0de42eb3d040 100644 > --- a/crypto/wp512.c > +++ b/crypto/wp512.c > @@ -1167,8 +1167,8 @@ static void __exit wp512_mod_fini(void) > crypto_unregister_shashes(wp_algs, ARRAY_SIZE(wp_algs)); > } > > -MODULE_ALIAS("wp384"); > -MODULE_ALIAS("wp256"); > +MODULE_ALIAS_CRYPTO("wp384"); > +MODULE_ALIAS_CRYPTO("wp256"); > > module_init(wp512_mod_init); > module_exit(wp512_mod_fini); > diff --git a/crypto/zlib.c b/crypto/zlib.c > index c9ee681d57fd..0eefa9d237ac 100644 > --- a/crypto/zlib.c > +++ b/crypto/zlib.c > @@ -378,3 +378,4 @@ module_exit(zlib_mod_fini); > MODULE_LICENSE("GPL"); > MODULE_DESCRIPTION("Zlib Compression Algorithm"); > MODULE_AUTHOR("Sony Corporation"); > +MODULE_ALIAS_CRYPTO("zlib"); > diff --git a/drivers/crypto/padlock-aes.c b/drivers/crypto/padlock-aes.c > index 633ba945e153..c178ed8c3908 100644 > --- a/drivers/crypto/padlock-aes.c > +++ b/drivers/crypto/padlock-aes.c > @@ -563,4 +563,4 @@ MODULE_DESCRIPTION("VIA PadLock AES algorithm support"); > MODULE_LICENSE("GPL"); > MODULE_AUTHOR("Michal Ludvig"); > > -MODULE_ALIAS("aes"); > +MODULE_ALIAS_CRYPTO("aes"); > diff --git a/drivers/crypto/padlock-sha.c b/drivers/crypto/padlock-sha.c > index bace885634f2..95f7d27ce491 100644 > --- a/drivers/crypto/padlock-sha.c > +++ b/drivers/crypto/padlock-sha.c > @@ -593,7 +593,7 @@ MODULE_DESCRIPTION("VIA PadLock SHA1/SHA256 algorithms support."); > MODULE_LICENSE("GPL"); > MODULE_AUTHOR("Michal Ludvig"); > > -MODULE_ALIAS("sha1-all"); > -MODULE_ALIAS("sha256-all"); > -MODULE_ALIAS("sha1-padlock"); > -MODULE_ALIAS("sha256-padlock"); > +MODULE_ALIAS_CRYPTO("sha1-all"); > +MODULE_ALIAS_CRYPTO("sha256-all"); > +MODULE_ALIAS_CRYPTO("sha1-padlock"); > +MODULE_ALIAS_CRYPTO("sha256-padlock"); > diff --git a/drivers/crypto/qat/qat_common/adf_ctl_drv.c b/drivers/crypto/qat/qat_common/adf_ctl_drv.c > index 244d73378f0e..7ee93f881db6 100644 > --- a/drivers/crypto/qat/qat_common/adf_ctl_drv.c > +++ b/drivers/crypto/qat/qat_common/adf_ctl_drv.c > @@ -52,6 +52,7 @@ > #include <linux/pci.h> > #include <linux/cdev.h> > #include <linux/uaccess.h> > +#include <linux/crypto.h> > > #include "adf_accel_devices.h" > #include "adf_common_drv.h" > @@ -487,4 +488,4 @@ module_exit(adf_unregister_ctl_device_driver); > MODULE_LICENSE("Dual BSD/GPL"); > MODULE_AUTHOR("Intel"); > MODULE_DESCRIPTION("Intel(R) QuickAssist Technology"); > -MODULE_ALIAS("intel_qat"); > +MODULE_ALIAS_CRYPTO("intel_qat"); > diff --git a/drivers/crypto/ux500/cryp/cryp_core.c b/drivers/crypto/ux500/cryp/cryp_core.c > index 92105f3dc8e0..e4cea7c45142 100644 > --- a/drivers/crypto/ux500/cryp/cryp_core.c > +++ b/drivers/crypto/ux500/cryp/cryp_core.c > @@ -1810,7 +1810,7 @@ module_exit(ux500_cryp_mod_fini); > module_param(cryp_mode, int, 0); > > MODULE_DESCRIPTION("Driver for ST-Ericsson UX500 CRYP crypto engine."); > -MODULE_ALIAS("aes-all"); > -MODULE_ALIAS("des-all"); > +MODULE_ALIAS_CRYPTO("aes-all"); > +MODULE_ALIAS_CRYPTO("des-all"); > > MODULE_LICENSE("GPL"); > diff --git a/drivers/crypto/ux500/hash/hash_core.c b/drivers/crypto/ux500/hash/hash_core.c > index 1c73f4fbc252..8e5e0187506f 100644 > --- a/drivers/crypto/ux500/hash/hash_core.c > +++ b/drivers/crypto/ux500/hash/hash_core.c > @@ -1995,7 +1995,7 @@ module_exit(ux500_hash_mod_fini); > MODULE_DESCRIPTION("Driver for ST-Ericsson UX500 HASH engine."); > MODULE_LICENSE("GPL"); > > -MODULE_ALIAS("sha1-all"); > -MODULE_ALIAS("sha256-all"); > -MODULE_ALIAS("hmac-sha1-all"); > -MODULE_ALIAS("hmac-sha256-all"); > +MODULE_ALIAS_CRYPTO("sha1-all"); > +MODULE_ALIAS_CRYPTO("sha256-all"); > +MODULE_ALIAS_CRYPTO("hmac-sha1-all"); > +MODULE_ALIAS_CRYPTO("hmac-sha256-all"); > diff --git a/drivers/s390/crypto/ap_bus.c b/drivers/s390/crypto/ap_bus.c > index 99485415dcc2..a058df192c42 100644 > --- a/drivers/s390/crypto/ap_bus.c > +++ b/drivers/s390/crypto/ap_bus.c > @@ -71,7 +71,7 @@ MODULE_AUTHOR("IBM Corporation"); > MODULE_DESCRIPTION("Adjunct Processor Bus driver, " \ > "Copyright IBM Corp. 2006, 2012"); > MODULE_LICENSE("GPL"); > -MODULE_ALIAS("z90crypt"); > +MODULE_ALIAS_CRYPTO("z90crypt"); > > /* > * Module parameter > diff --git a/include/linux/crypto.h b/include/linux/crypto.h > index d45e949699ea..d14230f6e977 100644 > --- a/include/linux/crypto.h > +++ b/include/linux/crypto.h > @@ -26,6 +26,13 @@ > #include <linux/uaccess.h> > > /* > + * Autoloaded crypto modules should only use a prefixed name to avoid allowing > + * arbitrary modules to be loaded. > + */ > +#define MODULE_ALIAS_CRYPTO(name) \ > + MODULE_ALIAS("crypto-" name) This would break userland relying on the old aliases, e.g. 'modprobe aes' no longer works. Why not have both aliases, one with the "crypto-" prefix for on-demand loading within the crypto API and one without for manual loading from userland? E.g., something like this: #define MODULE_ALIAS_CRYPTO(name) \ MODULE_ALIAS(name); \ MODULE_ALIAS("crypto-" name) That would prevent the userland breakage and still achieves the goal of restricting the request_module() call offered by the means of the AF_ALG API. Regards, Mathias > + > +/* > * Algorithm masks and types. > */ > #define CRYPTO_ALG_TYPE_MASK 0x0000000f > -- > 1.9.1 > > > -- > Kees Cook > Chrome OS Security -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html