summaryrefslogtreecommitdiff
path: root/crypto/ctr.c
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2009-08-13 23:10:39 +1000
committerHerbert Xu <herbert@gondor.apana.org.au>2009-08-13 23:10:39 +1000
commita67f6758b9cc059c6b22edccd2a6c5790e516c8b (patch)
treea26fab1691931edbfb7e097d1fab4a6785376ca5 /crypto/ctr.c
parente396ccd665dadf1332028994fd32c45f0d41afe7 (diff)
downloadlinux-crypto-a67f6758b9cc059c6b22edccd2a6c5790e516c8b.tar.gz
linux-crypto-a67f6758b9cc059c6b22edccd2a6c5790e516c8b.zip
crypto: ctr - Use chainiv on raw counter mode
Raw counter mode only works with chainiv, which is no longer the default IV generator on SMP machines. This broke raw counter mode as it can no longer instantiate as a givcipher. This patch fixes it by always picking chainiv on raw counter mode. This is based on the diagnosis and a patch by Huang Ying. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto/ctr.c')
-rw-r--r--crypto/ctr.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/crypto/ctr.c b/crypto/ctr.c
index 2d7425f0..6c3bfabb 100644
--- a/crypto/ctr.c
+++ b/crypto/ctr.c
@@ -219,6 +219,8 @@ static struct crypto_instance *crypto_ctr_alloc(struct rtattr **tb)
inst->alg.cra_blkcipher.encrypt = crypto_ctr_crypt;
inst->alg.cra_blkcipher.decrypt = crypto_ctr_crypt;
+ inst->alg.cra_blkcipher.geniv = "chainiv";
+
out:
crypto_mod_put(alg);
return inst;