]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
crypto: prefix module autoloading with "crypto-"
authorKees Cook <keescook@chromium.org>
Fri, 21 Nov 2014 01:05:53 +0000 (17:05 -0800)
committerBen Hutchings <ben@decadent.org.uk>
Fri, 20 Feb 2015 00:49:36 +0000 (00:49 +0000)
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>
[bwh: Backported to 3.2:
 - Adjust filenames
 - Drop changes to algorithms and drivers we don't have
 - Add aliases to generic C implementations that didn't need them before]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
57 files changed:
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/x86/crypto/aes_glue.c
arch/x86/crypto/aesni-intel_glue.c
arch/x86/crypto/blowfish_glue.c
arch/x86/crypto/crc32c-intel.c
arch/x86/crypto/ghash-clmulni-intel_glue.c
arch/x86/crypto/salsa20_glue.c
arch/x86/crypto/sha1_ssse3_glue.c
arch/x86/crypto/twofish_glue.c
arch/x86/crypto/twofish_glue_3way.c
crypto/aes_generic.c
crypto/ansi_cprng.c
crypto/anubis.c
crypto/api.c
crypto/arc4.c
crypto/blowfish_generic.c
crypto/camellia.c
crypto/cast5.c
crypto/cast6.c
crypto/ccm.c
crypto/crc32c.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/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.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
include/linux/crypto.h

index 51fb1efd63c7e21859ca366abc7a105297990e81..05d08c86499ebbc3f4d8d30b412960f393bc276a 100644 (file)
@@ -972,7 +972,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");
index 991fb7d18574d5ab18a37c6d373d216fef6df591..28e336abe9045d3d2174be9979cd490533816557 100644 (file)
@@ -626,8 +626,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");
index f6373f0e7749eeafa224aaa6fd6cd8049a7cfbdd..31086ea37b0cbd4a70fcd9da16b50d8b06b5bfbd 100644 (file)
@@ -161,7 +161,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");
index e9868c6e0a08c0868a65d64a3999e2a48d5ee31b..484c27cc210b0eb953df9ecf4c68a1b86be02b89 100644 (file)
@@ -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");
index 0317a3547cb9982aa6e4d47a9fece44a603f94c5..af31018712352c3856eb44691217df293d5c088d 100644 (file)
@@ -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");
index 32a81383b69c1b5036c12494802654ad453cbb19..0c36989ba182b1e411b56c3018ab610622cfe6ff 100644 (file)
@@ -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)
 {
index 8efcf42a9d7e318b4cddb93a820cd01d1bd01f4e..8950e0ca8565b4c66e60a26bc4a084212a13d45b 100644 (file)
@@ -67,5 +67,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");
index 545d0ce5981839583d1ed6f185d6df64a9c13c1b..16acf68c0739c25aeabe2f861988420c9f21931c 100644 (file)
@@ -1380,4 +1380,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");
index b05aa163d55a304c224f4b79dfd40a408fc305c6..f8350d2d2d696729c2b0de91aa0f62c158576182 100644 (file)
@@ -488,5 +488,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");
index b9d00261703c56f45e25cf9740c412ce26c71e71..7dad700304fcb779126334fa5ac7d5a71cae4980 100644 (file)
@@ -194,5 +194,5 @@ MODULE_AUTHOR("Austin Zhang <austin.zhang@intel.com>, 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");
index 294a264656f1b26d356f649b8df8d3241b8bb6d7..f7812516a14a82a1c09f140a9662bc5ccbf34a62 100644 (file)
@@ -339,4 +339,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");
index bccb76d8098782572321d7d12fd35093ac54431e..ae1ee37f925d3d4ff91cc975c535689602542503 100644 (file)
@@ -125,5 +125,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");
index f916499d0abecec3a30f717fd0232e97c621b28a..49b112ed932ab43ccbfad42f61335407caaf660a 100644 (file)
@@ -237,4 +237,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");
index dc6b3fb817fcfd6b36cb1cdf9ac111d6492d4218..7ec12d91036ecb62322487f06ff8b9877c60100a 100644 (file)
@@ -97,5 +97,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");
index 5ede9c444c3e758a67ac5d970d786f54a3775cc8..09ed35371be49d6926dce85660ef396a0cfdf521 100644 (file)
@@ -468,5 +468,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");
index a68c73dae15ad3e2a5408c3ddbf6a82885ec3b0e..68295478325190967669360bcd6a40b21558a342 100644 (file)
@@ -1475,4 +1475,4 @@ module_exit(aes_fini);
 
 MODULE_DESCRIPTION("Rijndael (AES) Cipher Algorithm");
 MODULE_LICENSE("Dual BSD/GPL");
-MODULE_ALIAS("aes");
+MODULE_ALIAS_CRYPTO("aes");
index 6056178453c4f359f1c9438164fe51e5a0c7d44c..2ea8fed06bdf6641e30e5ba52aaa4c84872e8dc8 100644 (file)
@@ -485,4 +485,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");
index 77530d571c961daf18abc05bbc1e8adc4ea195fd..523ed52abe8579ecd5172a610c3b823ea4174860 100644 (file)
@@ -705,3 +705,4 @@ module_exit(anubis_mod_fini);
 
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("Anubis Cryptographic Algorithm");
+MODULE_ALIAS_CRYPTO("anubis");
index cea3cf6c9897c57dedd9856273f288cc2e913969..ac80794906c6f4fcc064afbac3565f2dca3c5ade 100644 (file)
@@ -222,11 +222,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);
        }
index 0d12a96da1d8629fc1b226f8f7d181a56332168b..c40462320de80d4d6e6ffcb051228f3031dda412 100644 (file)
@@ -101,3 +101,4 @@ module_exit(arc4_exit);
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("ARC4 Cipher Algorithm");
 MODULE_AUTHOR("Jon Oberheide <jon@oberheide.org>");
+MODULE_ALIAS_CRYPTO("arc4");
index 6f269b5cfa3b1da05eeeb6f6ae5db7d99b85d4d1..d3a6fa7ac5ffbbd3655e26f205acae1df7be5cf0 100644 (file)
@@ -139,4 +139,4 @@ module_exit(blowfish_mod_fini);
 
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("Blowfish Cipher Algorithm");
-MODULE_ALIAS("blowfish");
+MODULE_ALIAS_CRYPTO("blowfish");
index 64cff46ea5e4fcd60bc74c5f7516666d4b4cba66..18024da3c849e7c4e717cf937c7556c76e8e73e2 100644 (file)
@@ -1114,3 +1114,4 @@ module_exit(camellia_fini);
 
 MODULE_DESCRIPTION("Camellia Cipher Algorithm");
 MODULE_LICENSE("GPL");
+MODULE_ALIAS_CRYPTO("camellia");
index 4a230ddec87741ae1cd6398f90a27721ff5e085d..b5f7ee5b73db745b59f88677c149f5f80fa77645 100644 (file)
@@ -806,4 +806,5 @@ module_exit(cast5_mod_fini);
 
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("Cast5 Cipher Algorithm");
+MODULE_ALIAS_CRYPTO("cast5");
 
index e0c15a6c7c34d72fd3fa7c1c114197b07b0f7cd4..6839587489045ff8aca2fd27471d3783592407c7 100644 (file)
@@ -545,3 +545,4 @@ module_exit(cast6_mod_fini);
 
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("Cast6 Cipher Algorithm");
+MODULE_ALIAS_CRYPTO("cast6");
index 2002ca74c5cface0fc045111491adfa08ad231c5..e9032733d326ca10b175691fe9a3dc8ac843e892 100644 (file)
@@ -888,5 +888,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");
index 3f9ad28010522c6409c0a213f2d3d1546b540aa2..b2c030b256eb25a587a98ed9f3d9437fa5000c09 100644 (file)
@@ -258,3 +258,4 @@ module_exit(crc32c_mod_fini);
 MODULE_AUTHOR("Clay Haapala <chaapala@cisco.com>");
 MODULE_DESCRIPTION("CRC32c (Castagnoli) calculations wrapper for lib/crc32c");
 MODULE_LICENSE("GPL");
+MODULE_ALIAS_CRYPTO("crc32c");
index 07a8a96d46fc1f2ef373ebb485ebf37287636726..7a2fbf6f94faf5e94a33ad326bcc7666664cceff 100644 (file)
@@ -156,9 +156,9 @@ static struct crypto_alg skcipher_null = {
        .decrypt                =       skcipher_null_crypt } }
 };
 
-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)
 {
index 4ca7222cfeb6ac4bfcf32e4a97a072e1535577a7..8f4a5a7224c79bae5b7761b2f9a2b70cff85f6d0 100644 (file)
@@ -421,4 +421,4 @@ module_exit(crypto_ctr_module_exit);
 
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("CTR Counter block mode");
-MODULE_ALIAS("rfc3686");
+MODULE_ALIAS_CRYPTO("rfc3686");
index b0165ecad0c5c4a407d76a24b2753bed2b77cf87..467423ad06b65eb40e15382bc47993e8fbb0bef5 100644 (file)
@@ -223,4 +223,4 @@ module_exit(deflate_mod_fini);
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("Deflate Compression Algorithm for IPCOMP");
 MODULE_AUTHOR("James Morris <jmorris@intercode.com.au>");
-
+MODULE_ALIAS_CRYPTO("deflate");
index 873818d48e86939b9492a158a3cd86a9d16b97b9..84f60c44d47e8a5b5262247cbe750eb8ad9b0c94 100644 (file)
@@ -975,7 +975,7 @@ static struct crypto_alg des3_ede_alg = {
        .cia_decrypt            =       des3_ede_decrypt } }
 };
 
-MODULE_ALIAS("des3_ede");
+MODULE_ALIAS_CRYPTO("des3_ede");
 
 static int __init des_generic_mod_init(void)
 {
index c33107e340b6c3774a1f709f14b889c8c034c19d..d99a67d22f1659a96c8f6144bf3d24f181da0d1a 100644 (file)
@@ -421,3 +421,4 @@ module_exit(fcrypt_mod_fini);
 MODULE_LICENSE("Dual BSD/GPL");
 MODULE_DESCRIPTION("FCrypt Cipher Algorithm");
 MODULE_AUTHOR("David Howells <dhowells@redhat.com>");
+MODULE_ALIAS_CRYPTO("fcrypt");
index b97b186d561b6a22e9a38cfebbf6bd6b4d6142af..b6a52ce743360c3f002b4dc32dd4a401408d85bf 100644 (file)
@@ -1374,6 +1374,6 @@ module_exit(crypto_gcm_module_exit);
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("Galois/Counter Mode");
 MODULE_AUTHOR("Mikko Herranen <mh1@iki.fi>");
-MODULE_ALIAS("gcm_base");
-MODULE_ALIAS("rfc4106");
-MODULE_ALIAS("rfc4543");
+MODULE_ALIAS_CRYPTO("gcm_base");
+MODULE_ALIAS_CRYPTO("rfc4106");
+MODULE_ALIAS_CRYPTO("rfc4543");
index 7835b8fc94db6d69b9e93c1806d677e8ea390736..0529132de1f1c31fb860540a6059a18ab447494d 100644 (file)
@@ -173,4 +173,4 @@ module_exit(ghash_mod_exit);
 
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("GHASH Message Digest Algorithm");
-MODULE_ALIAS("ghash");
+MODULE_ALIAS_CRYPTO("ghash");
index 527e4e395fc32f8f0d271b372ed93941fb6e1bcc..ea82051d574c5d18efd05d59a3cc9717730c54e6 100644 (file)
@@ -881,3 +881,4 @@ module_exit(khazad_mod_fini);
 
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("Khazad Cryptographic Algorithm");
+MODULE_ALIAS_CRYPTO("khazad");
index 4328bb3430edd8891654f9934d50d087936d83c4..86aa9f40a269858953d825997e8366e0ce377f7d 100644 (file)
@@ -63,4 +63,4 @@ module_exit(krng_mod_fini);
 
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("Kernel Random Number Generator");
-MODULE_ALIAS("stdrng");
+MODULE_ALIAS_CRYPTO("stdrng");
index b5e77077d75144b5d120c4c29e16aef17440612a..6b21152ff315b64ff29483050a8537dbe1849a4a 100644 (file)
@@ -104,3 +104,4 @@ module_exit(lzo_mod_fini);
 
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("LZO Compression Algorithm");
+MODULE_ALIAS_CRYPTO("lzo");
index 0477a6a01d58258eb07441561cb99640a2c3bd00..3515af425cc917b60669c6dbb1a460f1da1919c4 100644 (file)
@@ -255,4 +255,4 @@ module_exit(md4_mod_fini);
 
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("MD4 Message Digest Algorithm");
-
+MODULE_ALIAS_CRYPTO("md4");
index 7febeaab923bcd724f607ca536ae6ab202e182ea..36f5e5b103f302dbeda611466fb97ab94b87511f 100644 (file)
@@ -168,3 +168,4 @@ module_exit(md5_mod_fini);
 
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("MD5 Message Digest Algorithm");
+MODULE_ALIAS_CRYPTO("md5");
index 079b761bc70d125b241da7d13d30d7cef8b43846..46195e0d0f4d1d30dd20b3bdc8f987ea14176643 100644 (file)
@@ -184,3 +184,4 @@ module_exit(michael_mic_exit);
 MODULE_LICENSE("GPL v2");
 MODULE_DESCRIPTION("Michael MIC");
 MODULE_AUTHOR("Jouni Malinen <j@w1.fi>");
+MODULE_ALIAS_CRYPTO("michael_mic");
index 8a0f68b7f257fa08cb61e56f5cd778cc5fdafe38..049486ede938faa3ecc5254d91d3da529467d388 100644 (file)
@@ -327,3 +327,4 @@ module_exit(rmd128_mod_fini);
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Adrian-Ken Rueegsegger <ken@codelabs.ch>");
 MODULE_DESCRIPTION("RIPEMD-128 Message Digest");
+MODULE_ALIAS_CRYPTO("rmd128");
index 525d7bb752cf6a7317d728c57dd3e5528bf7d6bb..de585e51d455f9a5070b62a59540b01cf096b8ec 100644 (file)
@@ -371,3 +371,4 @@ module_exit(rmd160_mod_fini);
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Adrian-Ken Rueegsegger <ken@codelabs.ch>");
 MODULE_DESCRIPTION("RIPEMD-160 Message Digest");
+MODULE_ALIAS_CRYPTO("rmd160");
index 69293d9b56e0c4dca0ee4e739386ceb81e1a9173..4ec02a754e0992e5700fe683f89dde754fa1d1b8 100644 (file)
@@ -346,3 +346,4 @@ module_exit(rmd256_mod_fini);
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Adrian-Ken Rueegsegger <ken@codelabs.ch>");
 MODULE_DESCRIPTION("RIPEMD-256 Message Digest");
+MODULE_ALIAS_CRYPTO("rmd256");
index 09f97dfdfbba37b50b4c6a76fde33d844561c21d..770f2cb369f870a74d2c19fdf943be5ecf5ae54a 100644 (file)
@@ -395,3 +395,4 @@ module_exit(rmd320_mod_fini);
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Adrian-Ken Rueegsegger <ken@codelabs.ch>");
 MODULE_DESCRIPTION("RIPEMD-320 Message Digest");
+MODULE_ALIAS_CRYPTO("rmd320");
index eac10c11685cd436472d9262347922b88165b50d..a6f1aee4efdeae3090da7a2c390a05cab31e3050 100644 (file)
@@ -249,4 +249,4 @@ module_exit(salsa20_generic_mod_fini);
 
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION ("Salsa20 stream cipher algorithm");
-MODULE_ALIAS("salsa20");
+MODULE_ALIAS_CRYPTO("salsa20");
index d3e422f6055621aea9a6f6c78a08738466ace49d..3e40f5fabfcc9e0863bd6fc378edeaf9d42e6432 100644 (file)
@@ -477,3 +477,4 @@ module_exit(seed_fini);
 MODULE_DESCRIPTION("SEED Cipher Algorithm");
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Hye-Shik Chang <perky@FreeBSD.org>, Kim Hyun <hkim@kisa.or.kr>");
+MODULE_ALIAS_CRYPTO("seed");
index b651a55fa569f9c913076b1b18647f5e31efd97a..db6beb63e707769e8fceea236058365f3e07a419 100644 (file)
@@ -584,4 +584,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@ii.uib.no>");
-MODULE_ALIAS("tnepres");
+MODULE_ALIAS_CRYPTO("tnepres");
+MODULE_ALIAS_CRYPTO("serpent");
index 42794803c480531a60cc465657741a42ea5485dc..76d300fe968fb9bdee0e25347e189b62fc7347fe 100644 (file)
@@ -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");
index c48459ebf05b4dc157c90190c29770c70bf64095..c398b9effc3e5a49bcb213a4574b5cc4c3bb5ee4 100644 (file)
@@ -398,5 +398,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");
index dd30f40af9f505152bbc620211fa37d109eae1d7..7282f1e07a4c48b22344243d77734a9a0d82eb74 100644 (file)
@@ -294,5 +294,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");
index 412bc74f8179bb2add09ece93b470ba39bfde5d6..73ad43e5540500305be1dd98a9b4664d45b297fb 100644 (file)
@@ -299,8 +299,8 @@ static void __exit tea_mod_fini(void)
        crypto_unregister_alg(&xeta_alg);
 }
 
-MODULE_ALIAS("xtea");
-MODULE_ALIAS("xeta");
+MODULE_ALIAS_CRYPTO("xtea");
+MODULE_ALIAS_CRYPTO("xeta");
 
 module_init(tea_mod_init);
 module_exit(tea_mod_fini);
index cbca4f208c9f40017c8ff69c27c52f34862904fd..b5c334df0f4cde8b095bcb78eed23ce40baec84c 100644 (file)
@@ -702,8 +702,8 @@ static void __exit tgr192_mod_fini(void)
        crypto_unregister_shash(&tgr128);
 }
 
-MODULE_ALIAS("tgr160");
-MODULE_ALIAS("tgr128");
+MODULE_ALIAS_CRYPTO("tgr160");
+MODULE_ALIAS_CRYPTO("tgr128");
 
 module_init(tgr192_mod_init);
 module_exit(tgr192_mod_fini);
index 1f07b843e07cd3a00a8c02844a1f60c1941fdcd9..f6ef1a57157a084f86e52dd08ef8edc3e740d16e 100644 (file)
@@ -212,4 +212,4 @@ module_exit(twofish_mod_fini);
 
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION ("Twofish Cipher Algorithm");
-MODULE_ALIAS("twofish");
+MODULE_ALIAS_CRYPTO("twofish");
index 71719a2be25afa5ca341bd65306ec976b52d42b2..2c9a03dbe202f5e5e7704d6a920d16044f859a50 100644 (file)
@@ -1194,8 +1194,8 @@ static void __exit wp512_mod_fini(void)
        crypto_unregister_shash(&wp256);
 }
 
-MODULE_ALIAS("wp384");
-MODULE_ALIAS("wp256");
+MODULE_ALIAS_CRYPTO("wp384");
+MODULE_ALIAS_CRYPTO("wp256");
 
 module_init(wp512_mod_init);
 module_exit(wp512_mod_fini);
index 06b62e5cdcc72a93281051a7c07b5090be9abeaa..d9807883528177a232c2c291cf7558956d2bd56d 100644 (file)
@@ -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");
index 29b9469f83789eb42ee8c5d47ca7901d85fb70af..87500e671d376e8ee04b95024c76e3e53df25bb9 100644 (file)
@@ -559,4 +559,4 @@ MODULE_DESCRIPTION("VIA PadLock AES algorithm support");
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Michal Ludvig");
 
-MODULE_ALIAS("aes");
+MODULE_ALIAS_CRYPTO("aes");
index 06bdb4b2c6a645c7d33c28635a35815d9b2902d8..710f3cb816bceac3c304936ea5caf503ace5210b 100644 (file)
@@ -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");
index 8a94217b298ed0ec3bdbcccc63fc2ac64b5d8c28..ca01ea899114dccda7bf77106dc2cc94cb891225 100644 (file)
 #include <linux/string.h>
 #include <linux/uaccess.h>
 
+/*
+ * Autoloaded crypto modules should only use a prefixed name to avoid allowing
+ * arbitrary modules to be loaded. Loading from userspace may still need the
+ * unprefixed names, so retains those aliases as well.
+ * This uses __MODULE_INFO directly instead of MODULE_ALIAS because pre-4.3
+ * gcc (e.g. avr32 toolchain) uses __LINE__ for uniqueness, and this macro
+ * expands twice on the same line. Instead, use a separate base name for the
+ * alias.
+ */
+#define MODULE_ALIAS_CRYPTO(name)      \
+               __MODULE_INFO(alias, alias_userspace, name);    \
+               __MODULE_INFO(alias, alias_crypto, "crypto-" name)
+
 /*
  * Algorithm masks and types.
  */