aboutsummaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2008-02-22 22:12:06 -0500
committerHerbert Xu <herbert@gondor.apana.org.au>2008-02-22 22:12:06 -0500
commit76fc60a2e3c6aa6e98cd3a5cb81a1855c637b274 (patch)
treeab29e31b06045971853ff58bb6fabd6d40fd23c8 /crypto
parentc8620c2590f43eff864fe597fcbe5b72ab7a7b94 (diff)
[CRYPTO] skcipher: Move chainiv/seqiv into crypto_blkcipher module
For compatibility with dm-crypt initramfs setups it is useful to merge chainiv/seqiv into the crypto_blkcipher module. Since they're required by most algorithms anyway this is an acceptable trade-off. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto')
-rw-r--r--crypto/Makefile4
-rw-r--r--crypto/ablkcipher.c3
-rw-r--r--crypto/blkcipher.c29
-rw-r--r--crypto/chainiv.c12
-rw-r--r--crypto/eseqiv.c12
5 files changed, 39 insertions, 21 deletions
diff --git a/crypto/Makefile b/crypto/Makefile
index 48c758379954..7cf36253a75e 100644
--- a/crypto/Makefile
+++ b/crypto/Makefile
@@ -12,9 +12,9 @@ obj-$(CONFIG_CRYPTO_AEAD) += aead.o
12 12
13crypto_blkcipher-objs := ablkcipher.o 13crypto_blkcipher-objs := ablkcipher.o
14crypto_blkcipher-objs += blkcipher.o 14crypto_blkcipher-objs += blkcipher.o
15crypto_blkcipher-objs += chainiv.o
16crypto_blkcipher-objs += eseqiv.o
15obj-$(CONFIG_CRYPTO_BLKCIPHER) += crypto_blkcipher.o 17obj-$(CONFIG_CRYPTO_BLKCIPHER) += crypto_blkcipher.o
16obj-$(CONFIG_CRYPTO_BLKCIPHER) += chainiv.o
17obj-$(CONFIG_CRYPTO_BLKCIPHER) += eseqiv.o
18obj-$(CONFIG_CRYPTO_SEQIV) += seqiv.o 18obj-$(CONFIG_CRYPTO_SEQIV) += seqiv.o
19 19
20crypto_hash-objs := hash.o 20crypto_hash-objs := hash.o
diff --git a/crypto/ablkcipher.c b/crypto/ablkcipher.c
index 3bcb099b4a85..94140b3756fc 100644
--- a/crypto/ablkcipher.c
+++ b/crypto/ablkcipher.c
@@ -341,6 +341,3 @@ err:
341 return ERR_PTR(err); 341 return ERR_PTR(err);
342} 342}
343EXPORT_SYMBOL_GPL(crypto_alloc_ablkcipher); 343EXPORT_SYMBOL_GPL(crypto_alloc_ablkcipher);
344
345MODULE_LICENSE("GPL");
346MODULE_DESCRIPTION("Asynchronous block chaining cipher type");
diff --git a/crypto/blkcipher.c b/crypto/blkcipher.c
index 4a7e65c4df4d..185f955fb0d7 100644
--- a/crypto/blkcipher.c
+++ b/crypto/blkcipher.c
@@ -696,5 +696,34 @@ void skcipher_geniv_exit(struct crypto_tfm *tfm)
696} 696}
697EXPORT_SYMBOL_GPL(skcipher_geniv_exit); 697EXPORT_SYMBOL_GPL(skcipher_geniv_exit);
698 698
699static int __init blkcipher_module_init(void)
700{
701 int err;
702
703 err = chainiv_module_init();
704 if (err)
705 goto out;
706
707 err = eseqiv_module_init();
708 if (err)
709 goto eseqiv_err;
710
711out:
712 return err;
713
714eseqiv_err:
715 chainiv_module_exit();
716 goto out;
717}
718
719static void __exit blkcipher_module_exit(void)
720{
721 eseqiv_module_exit();
722 chainiv_module_exit();
723}
724
725module_init(blkcipher_module_init);
726module_exit(blkcipher_module_exit);
727
699MODULE_LICENSE("GPL"); 728MODULE_LICENSE("GPL");
700MODULE_DESCRIPTION("Generic block chaining cipher type"); 729MODULE_DESCRIPTION("Generic block chaining cipher type");
diff --git a/crypto/chainiv.c b/crypto/chainiv.c
index d17fa0454dc3..0a7cac6e9089 100644
--- a/crypto/chainiv.c
+++ b/crypto/chainiv.c
@@ -314,18 +314,14 @@ static struct crypto_template chainiv_tmpl = {
314 .module = THIS_MODULE, 314 .module = THIS_MODULE,
315}; 315};
316 316
317static int __init chainiv_module_init(void) 317int __init chainiv_module_init(void)
318{ 318{
319 return crypto_register_template(&chainiv_tmpl); 319 return crypto_register_template(&chainiv_tmpl);
320} 320}
321EXPORT_SYMBOL_GPL(chainiv_module_init);
321 322
322static void __exit chainiv_module_exit(void) 323void __exit chainiv_module_exit(void)
323{ 324{
324 crypto_unregister_template(&chainiv_tmpl); 325 crypto_unregister_template(&chainiv_tmpl);
325} 326}
326 327EXPORT_SYMBOL_GPL(chainiv_module_exit);
327module_init(chainiv_module_init);
328module_exit(chainiv_module_exit);
329
330MODULE_LICENSE("GPL");
331MODULE_DESCRIPTION("Chain IV Generator");
diff --git a/crypto/eseqiv.c b/crypto/eseqiv.c
index eb90d27ae118..6f2cd063b6fe 100644
--- a/crypto/eseqiv.c
+++ b/crypto/eseqiv.c
@@ -247,18 +247,14 @@ static struct crypto_template eseqiv_tmpl = {
247 .module = THIS_MODULE, 247 .module = THIS_MODULE,
248}; 248};
249 249
250static int __init eseqiv_module_init(void) 250int __init eseqiv_module_init(void)
251{ 251{
252 return crypto_register_template(&eseqiv_tmpl); 252 return crypto_register_template(&eseqiv_tmpl);
253} 253}
254EXPORT_SYMBOL_GPL(eseqiv_module_init);
254 255
255static void __exit eseqiv_module_exit(void) 256void __exit eseqiv_module_exit(void)
256{ 257{
257 crypto_unregister_template(&eseqiv_tmpl); 258 crypto_unregister_template(&eseqiv_tmpl);
258} 259}
259 260EXPORT_SYMBOL_GPL(eseqiv_module_exit);
260module_init(eseqiv_module_init);
261module_exit(eseqiv_module_exit);
262
263MODULE_LICENSE("GPL");
264MODULE_DESCRIPTION("Encrypted Sequence Number IV Generator");