Commit acc5ccb9fe1c1d3840d49e181ae30b924cfc28b5

Authored by Kees Cook
Committed by Greg Kroah-Hartman
1 parent f2efa8653b

crypto: include crypto- module prefix in template

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>

Showing 23 changed files with 26 additions and 2 deletions Side-by-side Diff

arch/x86/crypto/fpu.c
... ... @@ -17,6 +17,7 @@
17 17 #include <linux/kernel.h>
18 18 #include <linux/module.h>
19 19 #include <linux/slab.h>
  20 +#include <linux/crypto.h>
20 21 #include <asm/i387.h>
21 22  
22 23 struct crypto_fpu_ctx {
... ... @@ -159,4 +160,6 @@
159 160 {
160 161 crypto_unregister_template(&crypto_fpu_tmpl);
161 162 }
  163 +
  164 +MODULE_ALIAS_CRYPTO("fpu");
... ... @@ -509,8 +509,8 @@
509 509  
510 510 struct crypto_template *crypto_lookup_template(const char *name)
511 511 {
512   - return try_then_request_module(__crypto_lookup_template(name), "%s",
513   - name);
  512 + return try_then_request_module(__crypto_lookup_template(name),
  513 + "crypto-%s", name);
514 514 }
515 515 EXPORT_SYMBOL_GPL(crypto_lookup_template);
516 516  
... ... @@ -721,4 +721,5 @@
721 721  
722 722 MODULE_LICENSE("GPL");
723 723 MODULE_DESCRIPTION("Simple AEAD wrapper for IPsec");
  724 +MODULE_ALIAS_CRYPTO("authenc");
... ... @@ -814,4 +814,5 @@
814 814 MODULE_LICENSE("GPL");
815 815 MODULE_AUTHOR("Steffen Klassert <steffen.klassert@secunet.com>");
816 816 MODULE_DESCRIPTION("AEAD wrapper for IPsec with extended sequence numbers");
  817 +MODULE_ALIAS_CRYPTO("authencesn");
... ... @@ -289,4 +289,5 @@
289 289  
290 290 MODULE_LICENSE("GPL");
291 291 MODULE_DESCRIPTION("CBC block cipher algorithm");
  292 +MODULE_ALIAS_CRYPTO("cbc");
... ... @@ -881,4 +881,5 @@
881 881 MODULE_DESCRIPTION("Counter with CBC MAC");
882 882 MODULE_ALIAS_CRYPTO("ccm_base");
883 883 MODULE_ALIAS_CRYPTO("rfc4309");
  884 +MODULE_ALIAS_CRYPTO("ccm");
... ... @@ -359,4 +359,5 @@
359 359  
360 360 MODULE_LICENSE("GPL");
361 361 MODULE_DESCRIPTION("Chain IV Generator");
  362 +MODULE_ALIAS_CRYPTO("chainiv");
... ... @@ -313,4 +313,5 @@
313 313  
314 314 MODULE_LICENSE("GPL");
315 315 MODULE_DESCRIPTION("CMAC keyed hash algorithm");
  316 +MODULE_ALIAS_CRYPTO("cmac");
... ... @@ -955,4 +955,5 @@
955 955  
956 956 MODULE_LICENSE("GPL");
957 957 MODULE_DESCRIPTION("Software async crypto daemon");
  958 +MODULE_ALIAS_CRYPTO("cryptd");
... ... @@ -467,4 +467,5 @@
467 467 MODULE_LICENSE("GPL");
468 468 MODULE_DESCRIPTION("CTR Counter block mode");
469 469 MODULE_ALIAS_CRYPTO("rfc3686");
  470 +MODULE_ALIAS_CRYPTO("ctr");
... ... @@ -351,4 +351,5 @@
351 351  
352 352 MODULE_LICENSE("Dual BSD/GPL");
353 353 MODULE_DESCRIPTION("CTS-CBC CipherText Stealing for CBC");
  354 +MODULE_ALIAS_CRYPTO("cts");
... ... @@ -185,4 +185,5 @@
185 185  
186 186 MODULE_LICENSE("GPL");
187 187 MODULE_DESCRIPTION("ECB block cipher algorithm");
  188 +MODULE_ALIAS_CRYPTO("ecb");
... ... @@ -267,4 +267,5 @@
267 267  
268 268 MODULE_LICENSE("GPL");
269 269 MODULE_DESCRIPTION("Encrypted Sequence Number IV Generator");
  270 +MODULE_ALIAS_CRYPTO("eseqiv");
... ... @@ -1444,4 +1444,5 @@
1444 1444 MODULE_ALIAS_CRYPTO("gcm_base");
1445 1445 MODULE_ALIAS_CRYPTO("rfc4106");
1446 1446 MODULE_ALIAS_CRYPTO("rfc4543");
  1447 +MODULE_ALIAS_CRYPTO("gcm");
... ... @@ -268,4 +268,5 @@
268 268  
269 269 MODULE_LICENSE("GPL");
270 270 MODULE_DESCRIPTION("HMAC hash algorithm");
  271 +MODULE_ALIAS_CRYPTO("hmac");
... ... @@ -400,4 +400,5 @@
400 400  
401 401 MODULE_LICENSE("GPL");
402 402 MODULE_DESCRIPTION("LRW block cipher mode");
  403 +MODULE_ALIAS_CRYPTO("lrw");
... ... @@ -703,4 +703,5 @@
703 703  
704 704 MODULE_LICENSE("GPL");
705 705 MODULE_DESCRIPTION("Software async multibuffer crypto daemon");
  706 +MODULE_ALIAS_CRYPTO("mcryptd");
... ... @@ -295,4 +295,5 @@
295 295  
296 296 MODULE_LICENSE("GPL");
297 297 MODULE_DESCRIPTION("PCBC block cipher algorithm");
  298 +MODULE_ALIAS_CRYPTO("pcbc");
... ... @@ -565,4 +565,5 @@
565 565 MODULE_LICENSE("GPL");
566 566 MODULE_AUTHOR("Steffen Klassert <steffen.klassert@secunet.com>");
567 567 MODULE_DESCRIPTION("Parallel crypto wrapper");
  568 +MODULE_ALIAS_CRYPTO("pcrypt");
... ... @@ -362,4 +362,5 @@
362 362  
363 363 MODULE_LICENSE("GPL");
364 364 MODULE_DESCRIPTION("Sequence Number IV Generator");
  365 +MODULE_ALIAS_CRYPTO("seqiv");
... ... @@ -713,4 +713,5 @@
713 713  
714 714 MODULE_LICENSE("GPL");
715 715 MODULE_DESCRIPTION("VMAC hash algorithm");
  716 +MODULE_ALIAS_CRYPTO("vmac");
... ... @@ -286,4 +286,5 @@
286 286  
287 287 MODULE_LICENSE("GPL");
288 288 MODULE_DESCRIPTION("XCBC keyed hash algorithm");
  289 +MODULE_ALIAS_CRYPTO("xcbc");
... ... @@ -362,4 +362,5 @@
362 362  
363 363 MODULE_LICENSE("GPL");
364 364 MODULE_DESCRIPTION("XTS block cipher mode");
  365 +MODULE_ALIAS_CRYPTO("xts");