]> git.hungrycats.org Git - linux/commitdiff
crypto: include crypto- module prefix in template
authorKees Cook <keescook@chromium.org>
Tue, 25 Nov 2014 00:32:38 +0000 (16:32 -0800)
committerBen Hutchings <ben@decadent.org.uk>
Fri, 20 Feb 2015 00:49:36 +0000 (00:49 +0000)
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>
[bwh: Backported to 3.2: drop changes to cmac and mcryptd which we don't have]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
21 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/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 dc9991f5ab5ee2c51a3f6379bea3bf1597fb49b4..3b9ef92da6fc3ce586fc0904469a706362011ce5 100644 (file)
@@ -477,8 +477,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 d21da2f0f50873c834373da084b968d58de2cbd3..112b4e3b6cced27eef579821548d140c2908c17f 100644 (file)
@@ -710,3 +710,4 @@ module_exit(crypto_authenc_module_exit);
 
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("Simple AEAD wrapper for IPsec");
+MODULE_ALIAS_CRYPTO("authenc");
index 136b68b9d8d4646e60dbe6399abf3f52c67568f0..dd1f303b319d2c84eb6434f4d6fcbc0b16580d83 100644 (file)
@@ -833,3 +833,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 e9032733d326ca10b175691fe9a3dc8ac843e892..aa8d4f5036fbf4548406978f22e73704ad5dd7ca 100644 (file)
@@ -890,3 +890,4 @@ MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("Counter with CBC MAC");
 MODULE_ALIAS_CRYPTO("ccm_base");
 MODULE_ALIAS_CRYPTO("rfc4309");
+MODULE_ALIAS_CRYPTO("ccm");
index ba200b07449d259cebf846a43e3f768e335606ef..3bf2eb024f31ecce6f1e63208725e40268bd6c4f 100644 (file)
@@ -360,3 +360,4 @@ module_exit(chainiv_module_exit);
 
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("Chain IV Generator");
+MODULE_ALIAS_CRYPTO("chainiv");
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 8f4a5a7224c79bae5b7761b2f9a2b70cff85f6d0..ff7b3a39495236ddc037fbcd5a252f493e983c63 100644 (file)
@@ -422,3 +422,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 ccf9c5de39584b32d34f26dc9a0e278f812825ac..714283db2508387b39ed6010ab41ff7af50d69e2 100644 (file)
@@ -351,3 +351,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 b6a52ce743360c3f002b4dc32dd4a401408d85bf..1e3356107af2eb3905cf703a18620ef7e5c39eba 100644 (file)
@@ -1377,3 +1377,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 358f80be2bf97d128ebd648887325a01ea051a70..567c195e6d40f3626533ac48d3083fb617c27205 100644 (file)
@@ -312,3 +312,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 29a89dad68b664b0dcfefdf29a19631904b21e3f..ba9204664e14c9fb075e76d1ecaddf9b06e6e0e9 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 4c44912294178816688177e56faada3c85d6267d..385895f5b8fdda1f5d6d0175a2a0c2fa57d9b1d9 100644 (file)
@@ -363,3 +363,4 @@ module_exit(seqiv_module_exit);
 
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("Sequence Number IV Generator");
+MODULE_ALIAS_CRYPTO("seqiv");
index 4243905ba135196b5285b5fbdc249f831c193df8..8979bc8fd4a02515848def6026667ce89f03802e 100644 (file)
@@ -673,4 +673,5 @@ 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 851705446c8201f13232ff3d8fce6956c99d72e4..6a09b727cb2901fa8131a9c394a511af39233999 100644 (file)
@@ -289,3 +289,4 @@ module_exit(crypto_module_exit);
 
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("XTS block cipher mode");
+MODULE_ALIAS_CRYPTO("xts");