Skip to content

Commit 4943ba1

Browse files
keesherbertx
authored andcommitted
crypto: include crypto- module prefix in template
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>
1 parent 476c7fe commit 4943ba1

23 files changed

+26
-2
lines changed

Diff for: arch/x86/crypto/fpu.c

+3
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#include <linux/kernel.h>
1818
#include <linux/module.h>
1919
#include <linux/slab.h>
20+
#include <linux/crypto.h>
2021
#include <asm/i387.h>
2122

2223
struct crypto_fpu_ctx {
@@ -159,3 +160,5 @@ void __exit crypto_fpu_exit(void)
159160
{
160161
crypto_unregister_template(&crypto_fpu_tmpl);
161162
}
163+
164+
MODULE_ALIAS_CRYPTO("fpu");

Diff for: crypto/algapi.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -509,8 +509,8 @@ static struct crypto_template *__crypto_lookup_template(const char *name)
509509

510510
struct crypto_template *crypto_lookup_template(const char *name)
511511
{
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);
514514
}
515515
EXPORT_SYMBOL_GPL(crypto_lookup_template);
516516

Diff for: crypto/authenc.c

+1
Original file line numberDiff line numberDiff line change
@@ -721,3 +721,4 @@ module_exit(crypto_authenc_module_exit);
721721

722722
MODULE_LICENSE("GPL");
723723
MODULE_DESCRIPTION("Simple AEAD wrapper for IPsec");
724+
MODULE_ALIAS_CRYPTO("authenc");

Diff for: crypto/authencesn.c

+1
Original file line numberDiff line numberDiff line change
@@ -814,3 +814,4 @@ module_exit(crypto_authenc_esn_module_exit);
814814
MODULE_LICENSE("GPL");
815815
MODULE_AUTHOR("Steffen Klassert <steffen.klassert@secunet.com>");
816816
MODULE_DESCRIPTION("AEAD wrapper for IPsec with extended sequence numbers");
817+
MODULE_ALIAS_CRYPTO("authencesn");

Diff for: crypto/cbc.c

+1
Original file line numberDiff line numberDiff line change
@@ -289,3 +289,4 @@ module_exit(crypto_cbc_module_exit);
289289

290290
MODULE_LICENSE("GPL");
291291
MODULE_DESCRIPTION("CBC block cipher algorithm");
292+
MODULE_ALIAS_CRYPTO("cbc");

Diff for: crypto/ccm.c

+1
Original file line numberDiff line numberDiff line change
@@ -881,3 +881,4 @@ MODULE_LICENSE("GPL");
881881
MODULE_DESCRIPTION("Counter with CBC MAC");
882882
MODULE_ALIAS_CRYPTO("ccm_base");
883883
MODULE_ALIAS_CRYPTO("rfc4309");
884+
MODULE_ALIAS_CRYPTO("ccm");

Diff for: crypto/chainiv.c

+1
Original file line numberDiff line numberDiff line change
@@ -359,3 +359,4 @@ module_exit(chainiv_module_exit);
359359

360360
MODULE_LICENSE("GPL");
361361
MODULE_DESCRIPTION("Chain IV Generator");
362+
MODULE_ALIAS_CRYPTO("chainiv");

Diff for: crypto/cmac.c

+1
Original file line numberDiff line numberDiff line change
@@ -313,3 +313,4 @@ module_exit(crypto_cmac_module_exit);
313313

314314
MODULE_LICENSE("GPL");
315315
MODULE_DESCRIPTION("CMAC keyed hash algorithm");
316+
MODULE_ALIAS_CRYPTO("cmac");

Diff for: crypto/cryptd.c

+1
Original file line numberDiff line numberDiff line change
@@ -955,3 +955,4 @@ module_exit(cryptd_exit);
955955

956956
MODULE_LICENSE("GPL");
957957
MODULE_DESCRIPTION("Software async crypto daemon");
958+
MODULE_ALIAS_CRYPTO("cryptd");

Diff for: crypto/ctr.c

+1
Original file line numberDiff line numberDiff line change
@@ -467,3 +467,4 @@ module_exit(crypto_ctr_module_exit);
467467
MODULE_LICENSE("GPL");
468468
MODULE_DESCRIPTION("CTR Counter block mode");
469469
MODULE_ALIAS_CRYPTO("rfc3686");
470+
MODULE_ALIAS_CRYPTO("ctr");

Diff for: crypto/cts.c

+1
Original file line numberDiff line numberDiff line change
@@ -351,3 +351,4 @@ module_exit(crypto_cts_module_exit);
351351

352352
MODULE_LICENSE("Dual BSD/GPL");
353353
MODULE_DESCRIPTION("CTS-CBC CipherText Stealing for CBC");
354+
MODULE_ALIAS_CRYPTO("cts");

Diff for: crypto/ecb.c

+1
Original file line numberDiff line numberDiff line change
@@ -185,3 +185,4 @@ module_exit(crypto_ecb_module_exit);
185185

186186
MODULE_LICENSE("GPL");
187187
MODULE_DESCRIPTION("ECB block cipher algorithm");
188+
MODULE_ALIAS_CRYPTO("ecb");

Diff for: crypto/eseqiv.c

+1
Original file line numberDiff line numberDiff line change
@@ -267,3 +267,4 @@ module_exit(eseqiv_module_exit);
267267

268268
MODULE_LICENSE("GPL");
269269
MODULE_DESCRIPTION("Encrypted Sequence Number IV Generator");
270+
MODULE_ALIAS_CRYPTO("eseqiv");

Diff for: crypto/gcm.c

+1
Original file line numberDiff line numberDiff line change
@@ -1444,3 +1444,4 @@ MODULE_AUTHOR("Mikko Herranen <mh1@iki.fi>");
14441444
MODULE_ALIAS_CRYPTO("gcm_base");
14451445
MODULE_ALIAS_CRYPTO("rfc4106");
14461446
MODULE_ALIAS_CRYPTO("rfc4543");
1447+
MODULE_ALIAS_CRYPTO("gcm");

Diff for: crypto/hmac.c

+1
Original file line numberDiff line numberDiff line change
@@ -268,3 +268,4 @@ module_exit(hmac_module_exit);
268268

269269
MODULE_LICENSE("GPL");
270270
MODULE_DESCRIPTION("HMAC hash algorithm");
271+
MODULE_ALIAS_CRYPTO("hmac");

Diff for: crypto/lrw.c

+1
Original file line numberDiff line numberDiff line change
@@ -400,3 +400,4 @@ module_exit(crypto_module_exit);
400400

401401
MODULE_LICENSE("GPL");
402402
MODULE_DESCRIPTION("LRW block cipher mode");
403+
MODULE_ALIAS_CRYPTO("lrw");

Diff for: crypto/mcryptd.c

+1
Original file line numberDiff line numberDiff line change
@@ -703,3 +703,4 @@ module_exit(mcryptd_exit);
703703

704704
MODULE_LICENSE("GPL");
705705
MODULE_DESCRIPTION("Software async multibuffer crypto daemon");
706+
MODULE_ALIAS_CRYPTO("mcryptd");

Diff for: crypto/pcbc.c

+1
Original file line numberDiff line numberDiff line change
@@ -295,3 +295,4 @@ module_exit(crypto_pcbc_module_exit);
295295

296296
MODULE_LICENSE("GPL");
297297
MODULE_DESCRIPTION("PCBC block cipher algorithm");
298+
MODULE_ALIAS_CRYPTO("pcbc");

Diff for: crypto/pcrypt.c

+1
Original file line numberDiff line numberDiff line change
@@ -565,3 +565,4 @@ module_exit(pcrypt_exit);
565565
MODULE_LICENSE("GPL");
566566
MODULE_AUTHOR("Steffen Klassert <steffen.klassert@secunet.com>");
567567
MODULE_DESCRIPTION("Parallel crypto wrapper");
568+
MODULE_ALIAS_CRYPTO("pcrypt");

Diff for: crypto/seqiv.c

+1
Original file line numberDiff line numberDiff line change
@@ -362,3 +362,4 @@ module_exit(seqiv_module_exit);
362362

363363
MODULE_LICENSE("GPL");
364364
MODULE_DESCRIPTION("Sequence Number IV Generator");
365+
MODULE_ALIAS_CRYPTO("seqiv");

Diff for: crypto/vmac.c

+1
Original file line numberDiff line numberDiff line change
@@ -713,3 +713,4 @@ module_exit(vmac_module_exit);
713713

714714
MODULE_LICENSE("GPL");
715715
MODULE_DESCRIPTION("VMAC hash algorithm");
716+
MODULE_ALIAS_CRYPTO("vmac");

Diff for: crypto/xcbc.c

+1
Original file line numberDiff line numberDiff line change
@@ -286,3 +286,4 @@ module_exit(crypto_xcbc_module_exit);
286286

287287
MODULE_LICENSE("GPL");
288288
MODULE_DESCRIPTION("XCBC keyed hash algorithm");
289+
MODULE_ALIAS_CRYPTO("xcbc");

Diff for: crypto/xts.c

+1
Original file line numberDiff line numberDiff line change
@@ -362,3 +362,4 @@ module_exit(crypto_module_exit);
362362

363363
MODULE_LICENSE("GPL");
364364
MODULE_DESCRIPTION("XTS block cipher mode");
365+
MODULE_ALIAS_CRYPTO("xts");

0 commit comments

Comments
 (0)