Commit
acc5ccb9fe1c1d3840d49e181ae30b924cfc28b5
Authored by
Kees Cook
2014-11-25 08:32:38 +0800
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
...
...
@@ -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");