aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/blkcipher.c
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2008-02-23 11:12:06 +0800
committerHerbert Xu <herbert@gondor.apana.org.au>2008-02-23 11:12:06 +0800
commit76fc60a2e3c6aa6e98cd3a5cb81a1855c637b274 (patch)
treeab29e31b06045971853ff58bb6fabd6d40fd23c8 /crypto/blkcipher.c
parent[CRYPTO] null: Add missing Kconfig dependency on BLKCIPHER (diff)
downloadlinux-dev-76fc60a2e3c6aa6e98cd3a5cb81a1855c637b274.tar.xz
linux-dev-76fc60a2e3c6aa6e98cd3a5cb81a1855c637b274.zip
[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/blkcipher.c')
-rw-r--r--crypto/blkcipher.c29
1 files changed, 29 insertions, 0 deletions
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)
}
EXPORT_SYMBOL_GPL(skcipher_geniv_exit);
+static int __init blkcipher_module_init(void)
+{
+ int err;
+
+ err = chainiv_module_init();
+ if (err)
+ goto out;
+
+ err = eseqiv_module_init();
+ if (err)
+ goto eseqiv_err;
+
+out:
+ return err;
+
+eseqiv_err:
+ chainiv_module_exit();
+ goto out;
+}
+
+static void __exit blkcipher_module_exit(void)
+{
+ eseqiv_module_exit();
+ chainiv_module_exit();
+}
+
+module_init(blkcipher_module_init);
+module_exit(blkcipher_module_exit);
+
MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("Generic block chaining cipher type");