crypto: include crypto- module prefix in template
authorKees Cook <keescook@chromium.org>
Tue, 25 Nov 2014 00:32:38 +0000 (16:32 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 30 Jan 2015 01:40:57 +0000 (17:40 -0800)
commit 4943ba16bbc2db05115707b3ff7b4874e9e3c560 upstream.

This adds the module loading prefix "crypto-" to the template lookup
as well.

For example, attempting to load 'vfat(blowfish)' via AF_ALG now correctly
includes the "crypto-" prefix at every level, correctly rejecting "vfat":

net-pf-38
algif-hash
crypto-vfat(blowfish)
crypto-vfat(blowfish)-all
crypto-vfat

Reported-by: Mathias Krause <minipli@googlemail.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
Acked-by: Mathias Krause <minipli@googlemail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
22 files changed:
arch/x86/crypto/fpu.c
crypto/algapi.c
crypto/authenc.c
crypto/authencesn.c
crypto/cbc.c
crypto/ccm.c
crypto/chainiv.c
crypto/cmac.c
crypto/cryptd.c
crypto/ctr.c
crypto/cts.c
crypto/ecb.c
crypto/eseqiv.c
crypto/gcm.c
crypto/hmac.c
crypto/lrw.c
crypto/pcbc.c
crypto/pcrypt.c
crypto/seqiv.c
crypto/vmac.c
crypto/xcbc.c
crypto/xts.c

index 98d7a188f46b0744ea53942eeab09d609f7d4847..f368ba261739fa09be28bc02fe34cf3112099fa8 100644 (file)
@@ -17,6 +17,7 @@
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/slab.h>
+#include <linux/crypto.h>
 #include <asm/i387.h>
 
 struct crypto_fpu_ctx {
@@ -159,3 +160,5 @@ void __exit crypto_fpu_exit(void)
 {
        crypto_unregister_template(&crypto_fpu_tmpl);
 }
+
+MODULE_ALIAS_CRYPTO("fpu");
index 7a1ae87f1683459711c0b0c6badd1d76ddd9c9f1..00d8d939733b23d2591763adf29664241d52337e 100644 (file)
@@ -495,8 +495,8 @@ static struct crypto_template *__crypto_lookup_template(const char *name)
 
 struct crypto_template *crypto_lookup_template(const char *name)
 {
-       return try_then_request_module(__crypto_lookup_template(name), "%s",
-                                      name);
+       return try_then_request_module(__crypto_lookup_template(name),
+                                      "crypto-%s", name);
 }
 EXPORT_SYMBOL_GPL(crypto_lookup_template);
 
index 528b00bc476995cdae1d75372169b123630daa37..a2cfae251dd51f5959b2899ccbdc2cd2c0032396 100644 (file)
@@ -709,3 +709,4 @@ module_exit(crypto_authenc_module_exit);
 
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("Simple AEAD wrapper for IPsec");
+MODULE_ALIAS_CRYPTO("authenc");
index ab53762fc309c5db55ccaab948f1862bcc7a237a..16c225cb28c26624039bce403429f060613a25f3 100644 (file)
@@ -832,3 +832,4 @@ module_exit(crypto_authenc_esn_module_exit);
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Steffen Klassert <steffen.klassert@secunet.com>");
 MODULE_DESCRIPTION("AEAD wrapper for IPsec with extended sequence numbers");
+MODULE_ALIAS_CRYPTO("authencesn");
index 61ac42e1e32bb75816c0c1b0a7dd614cd80f4474..780ee27b2d43d5f3620d32c4df6c00670b6c48c8 100644 (file)
@@ -289,3 +289,4 @@ module_exit(crypto_cbc_module_exit);
 
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("CBC block cipher algorithm");
+MODULE_ALIAS_CRYPTO("cbc");
index 389670d4ab757180d627925d4d82ba2c6c230062..c569c9c6afe32b88760b571a77ae0f3774cd84d7 100644 (file)
@@ -881,3 +881,4 @@ MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("Counter with CBC MAC");
 MODULE_ALIAS_CRYPTO("ccm_base");
 MODULE_ALIAS_CRYPTO("rfc4309");
+MODULE_ALIAS_CRYPTO("ccm");
index 834d8dd3d4fc7abf1c72da93cb24f81632989239..22b7e55b0e1b12f598d89c519da9d43d8b2790a3 100644 (file)
@@ -359,3 +359,4 @@ module_exit(chainiv_module_exit);
 
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("Chain IV Generator");
+MODULE_ALIAS_CRYPTO("chainiv");
index 50880cf17fad702f9251ac7af4839842fe0ae8d5..7a8bfbd548f60835fbf417ab96e43b749a5d283f 100644 (file)
@@ -313,3 +313,4 @@ module_exit(crypto_cmac_module_exit);
 
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("CMAC keyed hash algorithm");
+MODULE_ALIAS_CRYPTO("cmac");
index 7bdd61b867c899901ed846ed5a229bc6ab31653b..75c415d370869e5ab121e8678ab8caa940e8e1d3 100644 (file)
@@ -955,3 +955,4 @@ module_exit(cryptd_exit);
 
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("Software async crypto daemon");
+MODULE_ALIAS_CRYPTO("cryptd");
index 3d81ff7e6b4894fa34072db80cf069ea966f1537..2386f731395207a2432d782d10c1421a0577dff3 100644 (file)
@@ -467,3 +467,4 @@ module_exit(crypto_ctr_module_exit);
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("CTR Counter block mode");
 MODULE_ALIAS_CRYPTO("rfc3686");
+MODULE_ALIAS_CRYPTO("ctr");
index 042223f8e73364529be44a850d0dce174352c858..60b9da3fa7c1cd1fe4ec95c88fb1985c8ebea4e5 100644 (file)
@@ -350,3 +350,4 @@ module_exit(crypto_cts_module_exit);
 
 MODULE_LICENSE("Dual BSD/GPL");
 MODULE_DESCRIPTION("CTS-CBC CipherText Stealing for CBC");
+MODULE_ALIAS_CRYPTO("cts");
index 935cfef4aa8479c54cd6490db8a9b97da9125ab5..12011aff097136331f5aca539acb487746efcd69 100644 (file)
@@ -185,3 +185,4 @@ module_exit(crypto_ecb_module_exit);
 
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("ECB block cipher algorithm");
+MODULE_ALIAS_CRYPTO("ecb");
index 42ce9f570aeccee6aada40d6742265af2eb8a746..388f582ab0b9438b55e38fefc8289c43554cce6c 100644 (file)
@@ -267,3 +267,4 @@ module_exit(eseqiv_module_exit);
 
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("Encrypted Sequence Number IV Generator");
+MODULE_ALIAS_CRYPTO("eseqiv");
index 8dbd80f5fb0c8d313c261c9e22dee57898f5a9fa..b4c252066f7bf9265e34faa8fceae4f8e12d386b 100644 (file)
@@ -1444,3 +1444,4 @@ MODULE_AUTHOR("Mikko Herranen <mh1@iki.fi>");
 MODULE_ALIAS_CRYPTO("gcm_base");
 MODULE_ALIAS_CRYPTO("rfc4106");
 MODULE_ALIAS_CRYPTO("rfc4543");
+MODULE_ALIAS_CRYPTO("gcm");
index 8d9544cf8169fd30d12fdea1d6303cfd3f4e7158..ade790b454e9936f3e23a7af85357686c66bae5d 100644 (file)
@@ -271,3 +271,4 @@ module_exit(hmac_module_exit);
 
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("HMAC hash algorithm");
+MODULE_ALIAS_CRYPTO("hmac");
index ba42acc4deba8059c65dff053faef591e3175517..6f9908a7ebcbe19f76a4ee306f326f291aff8de9 100644 (file)
@@ -400,3 +400,4 @@ module_exit(crypto_module_exit);
 
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("LRW block cipher mode");
+MODULE_ALIAS_CRYPTO("lrw");
index d1b8bdfb58551e5b7844ec423f834f468fe9f3f1..f654965f09338dab066795d8c6ab8618ef263d93 100644 (file)
@@ -295,3 +295,4 @@ module_exit(crypto_pcbc_module_exit);
 
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("PCBC block cipher algorithm");
+MODULE_ALIAS_CRYPTO("pcbc");
index b2c99dc1c5e2f244bab9cf8fafcedb0860df67f6..61ff946db7484e17ef9cced2f35d66730a596611 100644 (file)
@@ -565,3 +565,4 @@ module_exit(pcrypt_exit);
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Steffen Klassert <steffen.klassert@secunet.com>");
 MODULE_DESCRIPTION("Parallel crypto wrapper");
+MODULE_ALIAS_CRYPTO("pcrypt");
index f2cba4ed6f256b804c4b9f7360cffd1eb63f5b2d..49a4069ff4532c5004e1eadcb3498fc7a30979f2 100644 (file)
@@ -362,3 +362,4 @@ module_exit(seqiv_module_exit);
 
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("Sequence Number IV Generator");
+MODULE_ALIAS_CRYPTO("seqiv");
index 2eb11a30c29cee93203a1b90a990cc4463368440..bf2d3a89845fb329de8cfe67aed4a8084f2b75b0 100644 (file)
@@ -713,3 +713,4 @@ module_exit(vmac_module_exit);
 
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("VMAC hash algorithm");
+MODULE_ALIAS_CRYPTO("vmac");
index a5fbdf3738cfd4fa8f0938f53ceabd8fb4d9e2ea..df90b332554cf43fb595623af3e854534a9dc49b 100644 (file)
@@ -286,3 +286,4 @@ module_exit(crypto_xcbc_module_exit);
 
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("XCBC keyed hash algorithm");
+MODULE_ALIAS_CRYPTO("xcbc");
index ca1608f44cb56617d1b9e1d721d4a6dc12bca041..f6fd43f100c8c68c7150cad5224fafc5dc61db2c 100644 (file)
@@ -362,3 +362,4 @@ module_exit(crypto_module_exit);
 
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("XTS block cipher mode");
+MODULE_ALIAS_CRYPTO("xts");