2015-01-28

3.10-stable review patch. If anyone has any objections, please let me know.

------------------

From: Kees Cook <keescook@chromium.org>

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>

---

arch/arm/crypto/aes_glue.c | 4 ++--

arch/arm/crypto/sha1_glue.c | 2 +-

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_avx2_glue.c | 4 ++--

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/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 | 2 +-

arch/x86/crypto/sha512_ssse3_glue.c | 2 +-

arch/x86/crypto/twofish_avx2_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/crypto_null.c | 6 +++---

crypto/ctr.c | 2 +-

crypto/deflate.c | 2 +-

crypto/des_generic.c | 4 ++--

crypto/fcrypt.c | 1 +

crypto/gcm.c | 6 +++---

crypto/ghash-generic.c | 2 +-

crypto/khazad.c | 1 +

crypto/krng.c | 2 +-

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/ux500/cryp/cryp_core.c | 4 ++--

drivers/crypto/ux500/hash/hash_core.c | 8 ++++----

drivers/s390/crypto/ap_bus.c | 1 +

include/linux/crypto.h | 13 +++++++++++++

86 files changed, 137 insertions(+), 108 deletions(-)

--- a/arch/arm/crypto/aes_glue.c

+++ b/arch/arm/crypto/aes_glue.c

@@ -103,6 +103,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@gmail.com>");

--- a/arch/arm/crypto/sha1_glue.c

+++ b/arch/arm/crypto/sha1_glue.c

@@ -175,5 +175,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@gmail.com>");

--- 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");

--- a/arch/s390/crypto/aes_s390.c

+++ b/arch/s390/crypto/aes_s390.c

@@ -970,7 +970,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");

--- 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");

--- 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");

--- 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");

--- 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");

--- 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)

{

--- 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"

--- 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"

--- 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"

--- 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"

--- 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"

--- 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"

--- 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"

--- 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"

--- 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");

--- a/arch/x86/crypto/aesni-intel_glue.c

+++ b/arch/x86/crypto/aesni-intel_glue.c

@@ -1373,4 +1373,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");

--- a/arch/x86/crypto/blowfish_avx2_glue.c

+++ b/arch/x86/crypto/blowfish_avx2_glue.c

@@ -581,5 +581,5 @@ module_exit(fini);

MODULE_LICENSE("GPL");

MODULE_DESCRIPTION("Blowfish Cipher Algorithm, AVX2 optimized");

-MODULE_ALIAS("blowfish");

-MODULE_ALIAS("blowfish-asm");

+MODULE_ALIAS_CRYPTO("blowfish");

+MODULE_ALIAS_CRYPTO("blowfish-asm");

--- a/arch/x86/crypto/blowfish_glue.c

+++ b/arch/x86/crypto/blowfish_glue.c

@@ -465,5 +465,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");

--- 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");

--- 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");

--- 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");

--- a/arch/x86/crypto/cast5_avx_glue.c

+++ b/arch/x86/crypto/cast5_avx_glue.c

@@ -494,4 +494,4 @@ module_exit(cast5_exit);

MODULE_DESCRIPTION("Cast5 Cipher Algorithm, AVX optimized");

MODULE_LICENSE("GPL");

-MODULE_ALIAS("cast5");

+MODULE_ALIAS_CRYPTO("cast5");

--- 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");

--- 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@xyratex.com>");

MODULE_LICENSE("GPL");

-MODULE_ALIAS("crc32");

-MODULE_ALIAS("crc32-pclmul");

+MODULE_ALIAS_CRYPTO("crc32");

+MODULE_ALIAS_CRYPTO("crc32-pclmul");

--- 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.zhan

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");

--- 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");

--- 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");

--- 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");

--- 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");

--- 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");

--- a/arch/x86/crypto/sha1_ssse3_glue.c

+++ b/arch/x86/crypto/sha1_ssse3_glue.c

@@ -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");

--- a/arch/x86/crypto/sha256_ssse3_glue.c

+++ b/arch/x86/crypto/sha256_ssse3_glue.c

@@ -272,4 +272,4 @@ module_exit(sha256_ssse3_mod_fini);

MODULE_LICENSE("GPL");

MODULE_DESCRIPTION("SHA256 Secure Hash Algorithm, Supplemental SSE3 accelerated");

-MODULE_ALIAS("sha256");

+MODULE_ALIAS_CRYPTO("sha256");

--- a/arch/x86/crypto/sha512_ssse3_glue.c

+++ b/arch/x86/crypto/sha512_ssse3_glue.c

@@ -279,4 +279,4 @@ module_exit(sha512_ssse3_mod_fini);

MODULE_LICENSE("GPL");

MODULE_DESCRIPTION("SHA512 Secure Hash Algorithm, Supplemental SSE3 accelerated");

-MODULE_ALIAS("sha512");

+MODULE_ALIAS_CRYPTO("sha512");

--- a/arch/x86/crypto/twofish_avx2_glue.c

+++ b/arch/x86/crypto/twofish_avx2_glue.c

@@ -580,5 +580,5 @@ module_exit(fini);

MODULE_LICENSE("GPL");

MODULE_DESCRIPTION("Twofish Cipher Algorithm, AVX2 optimized");

-MODULE_ALIAS("twofish");

-MODULE_ALIAS("twofish-asm");

+MODULE_ALIAS_CRYPTO("twofish");

+MODULE_ALIAS_CRYPTO("twofish-asm");

--- a/arch/x86/crypto/twofish_avx_glue.c

+++ b/arch/x86/crypto/twofish_avx_glue.c

@@ -589,4 +589,4 @@ module_exit(twofish_exit);

MODULE_DESCRIPTION("Twofish Cipher Algorithm, AVX optimized");

MODULE_LICENSE("GPL");

-MODULE_ALIAS("twofish");

+MODULE_ALIAS_CRYPTO("twofish");

--- 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");

--- 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");

--- 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");

--- 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");

--- 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");

--- 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");

--- a/crypto/api.c

+++ b/crypto/api.c

@@ -216,11 +216,11 @@ struct crypto_alg *crypto_larval_lookup(

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);

}

--- 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@oberheide.org>");

+MODULE_ALIAS_CRYPTO("arc4");

--- 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");

--- 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");

--- 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");

--- 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");

--- 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");

--- a/crypto/crc32.c

+++ b/crypto/crc32.c

@@ -156,3 +156,4 @@ module_exit(crc32_mod_fini);

MODULE_AUTHOR("Alexander Boyko <alexander_boyko@xyratex.com>");

MODULE_DESCRIPTION("CRC32 calculations wrapper for lib/crc32");

MODULE_LICENSE("GPL");

+MODULE_ALIAS_CRYPTO("crc32");

--- a/crypto/crypto_null.c

+++ b/crypto/crypto_null.c

@@ -149,9 +149,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)

{

--- 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");

--- 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@intercode.com.au>");

-

+MODULE_ALIAS_CRYPTO("deflate");

--- a/crypto/des_generic.c

+++ b/crypto/des_generic.c

@@ -971,7 +971,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)

{

@@ -989,4 +989,4 @@ module_exit(des_generic_mod_fini);

MODULE_LICENSE("GPL");

MODULE_DESCRIPTION("DES & Triple DES EDE Cipher Algorithms");

MODULE_AUTHOR("Dag Arne Osvik <da@osvik.no>");

-MODULE_ALIAS("des");

+MODULE_ALIAS_CRYPTO("des");

--- 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@redhat.com>");

+MODULE_ALIAS_CRYPTO("fcrypt");

--- 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@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");

--- 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");

--- 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");

--- 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");

--- a/crypto/lzo.c

+++ b/crypto/lzo.c

@@ -103,3 +103,4 @@ module_exit(lzo_mod_fini);

MODULE_LICENSE("GPL");

MODULE_DESCRIPTION("LZO Compression Algorithm");

+MODULE_ALIAS_CRYPTO("lzo");

--- 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");

--- 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");

--- 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@w1.fi>");

+MODULE_ALIAS_CRYPTO("michael_mic");

--- 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@codelabs.ch>");

MODULE_DESCRIPTION("RIPEMD-128 Message Digest");

+MODULE_ALIAS_CRYPTO("rmd128");

--- 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@codelabs.ch>");

MODULE_DESCRIPTION("RIPEMD-160 Message Digest");

+MODULE_ALIAS_CRYPTO("rmd160");

--- 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@codelabs.ch>");

MODULE_DESCRIPTION("RIPEMD-256 Message Digest");

+MODULE_ALIAS_CRYPTO("rmd256");

--- 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@codelabs.ch>");

MODULE_DESCRIPTION("RIPEMD-320 Message Digest");

+MODULE_ALIAS_CRYPTO("rmd320");

--- 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");

--- 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@FreeBSD.org>, Kim Hyun <hkim@kisa.or.kr>");

+MODULE_ALIAS_CRYPTO("seed");

--- 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@ii.uib.no>");

-MODULE_ALIAS("tnepres");

-MODULE_ALIAS("serpent");

+MODULE_ALIAS_CRYPTO("tnepres");

+MODULE_ALIAS_CRYPTO("serpent");

--- 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");

--- 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");

--- a/crypto/sha512_generic.c

+++ b/crypto/sha512_generic.c

@@ -285,5 +285,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");

--- 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);

--- 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);

--- 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");

--- 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);

--- 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");

--- a/drivers/crypto/padlock-aes.c

+++ b/drivers/crypto/padlock-aes.c

@@ -563,4 +563,4 @@ MODULE_DESCRIPTION("VIA PadLock AES algo

MODULE_LICENSE("GPL");

MODULE_AUTHOR("Michal Ludvig");

-MODULE_ALIAS("aes");

+MODULE_ALIAS_CRYPTO("aes");

--- a/drivers/crypto/padlock-sha.c

+++ b/drivers/crypto/padlock-sha.c

@@ -593,7 +593,7 @@ MODULE_DESCRIPTION("VIA PadLock SHA1/SHA

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");

--- a/drivers/crypto/ux500/cryp/cryp_core.c

+++ b/drivers/crypto/ux500/cryp/cryp_core.c

@@ -1775,7 +1775,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");

--- a/drivers/crypto/ux500/hash/hash_core.c

+++ b/drivers/crypto/ux500/hash/hash_core.c

@@ -1998,7 +1998,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");

--- a/drivers/s390/crypto/ap_bus.c

+++ b/drivers/s390/crypto/ap_bus.c

@@ -44,6 +44,7 @@

#include <linux/hrtimer.h>

#include <linux/ktime.h>

#include <asm/facility.h>

+#include <linux/crypto.h>

#include "ap_bus.h"

--- a/include/linux/crypto.h

+++ b/include/linux/crypto.h

@@ -26,6 +26,19 @@

#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.

*/

#define CRYPTO_ALG_TYPE_MASK 0x0000000f

--

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

the body of a message to majordomo@vger.kernel.org

More majordomo info at http://vger.kernel.org/majordomo-info.html

Please read the FAQ at http://www.tux.org/lkml/

Show more