Skip to content

Commit

Permalink
crypto: include crypto- module prefix in template
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: Kees Cook <[email protected]>
Acked-by: Mathias Krause <[email protected]>
Signed-off-by: Herbert Xu <[email protected]>
  • Loading branch information
kees authored and herbertx committed Nov 26, 2014
1 parent 476c7fe commit 4943ba1
Show file tree
Hide file tree
Showing 23 changed files with 26 additions and 2 deletions.
3 changes: 3 additions & 0 deletions arch/x86/crypto/fpu.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down Expand Up @@ -159,3 +160,5 @@ void __exit crypto_fpu_exit(void)
{
crypto_unregister_template(&crypto_fpu_tmpl);
}

MODULE_ALIAS_CRYPTO("fpu");
4 changes: 2 additions & 2 deletions crypto/algapi.c
Original file line number Diff line number Diff line change
Expand Up @@ -509,8 +509,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);

Expand Down
1 change: 1 addition & 0 deletions crypto/authenc.c
Original file line number Diff line number Diff line change
Expand Up @@ -721,3 +721,4 @@ module_exit(crypto_authenc_module_exit);

MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("Simple AEAD wrapper for IPsec");
MODULE_ALIAS_CRYPTO("authenc");
1 change: 1 addition & 0 deletions crypto/authencesn.c
Original file line number Diff line number Diff line change
Expand Up @@ -814,3 +814,4 @@ module_exit(crypto_authenc_esn_module_exit);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Steffen Klassert <[email protected]>");
MODULE_DESCRIPTION("AEAD wrapper for IPsec with extended sequence numbers");
MODULE_ALIAS_CRYPTO("authencesn");
1 change: 1 addition & 0 deletions crypto/cbc.c
Original file line number Diff line number Diff line change
Expand Up @@ -289,3 +289,4 @@ module_exit(crypto_cbc_module_exit);

MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("CBC block cipher algorithm");
MODULE_ALIAS_CRYPTO("cbc");
1 change: 1 addition & 0 deletions crypto/ccm.c
Original file line number Diff line number Diff line change
Expand Up @@ -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");
1 change: 1 addition & 0 deletions crypto/chainiv.c
Original file line number Diff line number Diff line change
Expand Up @@ -359,3 +359,4 @@ module_exit(chainiv_module_exit);

MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("Chain IV Generator");
MODULE_ALIAS_CRYPTO("chainiv");
1 change: 1 addition & 0 deletions crypto/cmac.c
Original file line number Diff line number Diff line change
Expand Up @@ -313,3 +313,4 @@ module_exit(crypto_cmac_module_exit);

MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("CMAC keyed hash algorithm");
MODULE_ALIAS_CRYPTO("cmac");
1 change: 1 addition & 0 deletions crypto/cryptd.c
Original file line number Diff line number Diff line change
Expand Up @@ -955,3 +955,4 @@ module_exit(cryptd_exit);

MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("Software async crypto daemon");
MODULE_ALIAS_CRYPTO("cryptd");
1 change: 1 addition & 0 deletions crypto/ctr.c
Original file line number Diff line number Diff line change
Expand Up @@ -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");
1 change: 1 addition & 0 deletions crypto/cts.c
Original file line number Diff line number Diff line change
Expand Up @@ -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");
1 change: 1 addition & 0 deletions crypto/ecb.c
Original file line number Diff line number Diff line change
Expand Up @@ -185,3 +185,4 @@ module_exit(crypto_ecb_module_exit);

MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("ECB block cipher algorithm");
MODULE_ALIAS_CRYPTO("ecb");
1 change: 1 addition & 0 deletions crypto/eseqiv.c
Original file line number Diff line number Diff line change
Expand Up @@ -267,3 +267,4 @@ module_exit(eseqiv_module_exit);

MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("Encrypted Sequence Number IV Generator");
MODULE_ALIAS_CRYPTO("eseqiv");
1 change: 1 addition & 0 deletions crypto/gcm.c
Original file line number Diff line number Diff line change
Expand Up @@ -1444,3 +1444,4 @@ MODULE_AUTHOR("Mikko Herranen <[email protected]>");
MODULE_ALIAS_CRYPTO("gcm_base");
MODULE_ALIAS_CRYPTO("rfc4106");
MODULE_ALIAS_CRYPTO("rfc4543");
MODULE_ALIAS_CRYPTO("gcm");
1 change: 1 addition & 0 deletions crypto/hmac.c
Original file line number Diff line number Diff line change
Expand Up @@ -268,3 +268,4 @@ module_exit(hmac_module_exit);

MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("HMAC hash algorithm");
MODULE_ALIAS_CRYPTO("hmac");
1 change: 1 addition & 0 deletions crypto/lrw.c
Original file line number Diff line number Diff line change
Expand Up @@ -400,3 +400,4 @@ module_exit(crypto_module_exit);

MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("LRW block cipher mode");
MODULE_ALIAS_CRYPTO("lrw");
1 change: 1 addition & 0 deletions crypto/mcryptd.c
Original file line number Diff line number Diff line change
Expand Up @@ -703,3 +703,4 @@ module_exit(mcryptd_exit);

MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("Software async multibuffer crypto daemon");
MODULE_ALIAS_CRYPTO("mcryptd");
1 change: 1 addition & 0 deletions crypto/pcbc.c
Original file line number Diff line number Diff line change
Expand Up @@ -295,3 +295,4 @@ module_exit(crypto_pcbc_module_exit);

MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("PCBC block cipher algorithm");
MODULE_ALIAS_CRYPTO("pcbc");
1 change: 1 addition & 0 deletions crypto/pcrypt.c
Original file line number Diff line number Diff line change
Expand Up @@ -565,3 +565,4 @@ module_exit(pcrypt_exit);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Steffen Klassert <[email protected]>");
MODULE_DESCRIPTION("Parallel crypto wrapper");
MODULE_ALIAS_CRYPTO("pcrypt");
1 change: 1 addition & 0 deletions crypto/seqiv.c
Original file line number Diff line number Diff line change
Expand Up @@ -362,3 +362,4 @@ module_exit(seqiv_module_exit);

MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("Sequence Number IV Generator");
MODULE_ALIAS_CRYPTO("seqiv");
1 change: 1 addition & 0 deletions crypto/vmac.c
Original file line number Diff line number Diff line change
Expand Up @@ -713,3 +713,4 @@ module_exit(vmac_module_exit);

MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("VMAC hash algorithm");
MODULE_ALIAS_CRYPTO("vmac");
1 change: 1 addition & 0 deletions crypto/xcbc.c
Original file line number Diff line number Diff line change
Expand Up @@ -286,3 +286,4 @@ module_exit(crypto_xcbc_module_exit);

MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("XCBC keyed hash algorithm");
MODULE_ALIAS_CRYPTO("xcbc");
1 change: 1 addition & 0 deletions crypto/xts.c
Original file line number Diff line number Diff line change
Expand Up @@ -362,3 +362,4 @@ module_exit(crypto_module_exit);

MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("XTS block cipher mode");
MODULE_ALIAS_CRYPTO("xts");

0 comments on commit 4943ba1

Please sign in to comment.