crypto: blkcipher - Do not use eseqiv on stream ciphers
[linux-2.6.git] / crypto / ablkcipher.c
index 03fb5fa..f6f0833 100644 (file)
@@ -183,6 +183,12 @@ EXPORT_SYMBOL_GPL(crypto_givcipher_type);
 
 const char *crypto_default_geniv(const struct crypto_alg *alg)
 {
+       if (((alg->cra_flags & CRYPTO_ALG_TYPE_MASK) ==
+            CRYPTO_ALG_TYPE_BLKCIPHER ? alg->cra_blkcipher.ivsize :
+                                        alg->cra_ablkcipher.ivsize) !=
+           alg->cra_blocksize)
+               return "chainiv";
+
        return alg->cra_flags & CRYPTO_ALG_ASYNC ?
               "eseqiv" : skcipher_default_geniv;
 }