Browse Source

crypto: nx - saves chaining value from co-processor

This patch fixes a bug that is triggered when cts(cbc(aes)) is used with
nx-crypto driver on input larger than 32 bytes.

The chaining value from co-processor was not being saved. This value is
needed because it is used as the IV by cts(cbc(aes)).

Signed-off-by: Fionnuala Gunter <fin@linux.vnet.ibm.com>
Reviewed-by: Marcelo Cerri <mhcerri@linux.vnet.ibm.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Fionnuala Gunter 12 years ago
parent
commit
cc76daf793
1 changed files with 1 additions and 0 deletions
  1. 1 0
      drivers/crypto/nx/nx-aes-cbc.c

+ 1 - 0
drivers/crypto/nx/nx-aes-cbc.c

@@ -95,6 +95,7 @@ static int cbc_aes_nx_crypt(struct blkcipher_desc *desc,
 	if (rc)
 		goto out;
 
+	memcpy(desc->info, csbcpb->cpb.aes_cbc.cv, AES_BLOCK_SIZE);
 	atomic_inc(&(nx_ctx->stats->aes_ops));
 	atomic64_add(csbcpb->csb.processed_byte_count,
 		     &(nx_ctx->stats->aes_bytes));