crypto: inside-secure - Fixed authenc w/ (3)DES fails on Macchiatobin
authorPascal van Leeuwen <pascalvanl@gmail.com>
Fri, 8 Nov 2019 09:00:21 +0000 (10:00 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Sun, 17 Nov 2019 01:02:38 +0000 (09:02 +0800)
Fixed 2 copy-paste mistakes in the commit mentioned below that caused
authenc w/ (3)DES to consistently fail on Macchiatobin (but strangely
work fine on x86+FPGA??).
Now fully tested on both platforms.

Fixes: 13a1bb93f7b1c9 ("crypto: inside-secure - Fixed warnings...")
Signed-off-by: Pascal van Leeuwen <pvanleeuwen@verimatrix.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/inside-secure/safexcel_cipher.c

index 98f9fc60c268eaa36fc9cced69aa1dbe1dc439ed..c02995694b41a44bf55f6861cbfe28324908268b 100644 (file)
@@ -405,7 +405,8 @@ static int safexcel_aead_setkey(struct crypto_aead *ctfm, const u8 *key,
 
        if (priv->flags & EIP197_TRC_CACHE && ctx->base.ctxr_dma) {
                for (i = 0; i < keys.enckeylen / sizeof(u32); i++) {
-                       if (le32_to_cpu(ctx->key[i]) != aes.key_enc[i]) {
+                       if (le32_to_cpu(ctx->key[i]) !=
+                           ((u32 *)keys.enckey)[i]) {
                                ctx->base.needs_inv = true;
                                break;
                        }
@@ -459,7 +460,7 @@ static int safexcel_aead_setkey(struct crypto_aead *ctfm, const u8 *key,
 
        /* Now copy the keys into the context */
        for (i = 0; i < keys.enckeylen / sizeof(u32); i++)
-               ctx->key[i] = cpu_to_le32(aes.key_enc[i]);
+               ctx->key[i] = cpu_to_le32(((u32 *)keys.enckey)[i]);
        ctx->key_len = keys.enckeylen;
 
        memcpy(ctx->ipad, &istate.state, ctx->state_sz);