[PATCH] crypto: mv_cesa - fix hashing of chunks 1920 bytes

2011-11-14 Thread Phil Sutter
This was broken by commit 7759995c75ae0cbd4c861582908449f6b6208e7a (yes,
myself). The basic problem here is since the digest state is only saved
after the last chunk, the state array is only valid when handling the
first chunk of the next buffer. Broken since linux-3.0.

Signed-off-by: Phil Sutter phil.sut...@viprinet.com
---
 drivers/crypto/mv_cesa.c |   12 +++-
 1 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/drivers/crypto/mv_cesa.c b/drivers/crypto/mv_cesa.c
index 5c6f56f..dcd8bab 100644
--- a/drivers/crypto/mv_cesa.c
+++ b/drivers/crypto/mv_cesa.c
@@ -343,11 +343,13 @@ static void mv_process_hash_current(int first_block)
else
op.config |= CFG_MID_FRAG;
 
-   writel(req_ctx-state[0], cpg-reg + DIGEST_INITIAL_VAL_A);
-   writel(req_ctx-state[1], cpg-reg + DIGEST_INITIAL_VAL_B);
-   writel(req_ctx-state[2], cpg-reg + DIGEST_INITIAL_VAL_C);
-   writel(req_ctx-state[3], cpg-reg + DIGEST_INITIAL_VAL_D);
-   writel(req_ctx-state[4], cpg-reg + DIGEST_INITIAL_VAL_E);
+   if (first_block) {
+   writel(req_ctx-state[0], cpg-reg + 
DIGEST_INITIAL_VAL_A);
+   writel(req_ctx-state[1], cpg-reg + 
DIGEST_INITIAL_VAL_B);
+   writel(req_ctx-state[2], cpg-reg + 
DIGEST_INITIAL_VAL_C);
+   writel(req_ctx-state[3], cpg-reg + 
DIGEST_INITIAL_VAL_D);
+   writel(req_ctx-state[4], cpg-reg + 
DIGEST_INITIAL_VAL_E);
+   }
}
 
memcpy(cpg-sram + SRAM_CONFIG, op, sizeof(struct sec_accel_config));
-- 
1.7.6.1


--
To unsubscribe from this list: send the line unsubscribe linux-crypto in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] crypto: mv_cesa - fix hashing of chunks 1920 bytes

2011-11-14 Thread Greg KH
On Mon, Nov 14, 2011 at 04:41:43PM +0100, Phil Sutter wrote:
 This was broken by commit 7759995c75ae0cbd4c861582908449f6b6208e7a (yes,
 myself). The basic problem here is since the digest state is only saved
 after the last chunk, the state array is only valid when handling the
 first chunk of the next buffer. Broken since linux-3.0.
 
 Signed-off-by: Phil Sutter phil.sut...@viprinet.com
 ---

formletter

This is not the correct way to submit patches for inclusion in the
stable kernel tree.  Please read Documentation/stable_kernel_rules.txt
for how to do this properly.

/formletter
--
To unsubscribe from this list: send the line unsubscribe linux-crypto in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html