> -----Original Message----- > From: linux-crypto-owner@xxxxxxxxxxxxxxx <linux-crypto-owner@xxxxxxxxxxxxxxx> On Behalf Of > Antoine Tenart > Sent: Friday, November 8, 2019 9:38 AM > To: Pascal van Leeuwen <pascalvanl@xxxxxxxxx> > Cc: linux-crypto@xxxxxxxxxxxxxxx; antoine.tenart@xxxxxxxxxxx; herbert@xxxxxxxxxxxxxxxxxxx; > davem@xxxxxxxxxxxxx; Pascal Van Leeuwen <pvanleeuwen@xxxxxxxxxxxxxx> > Subject: Re: [PATCH] crypto: inside-secure - Fixed authenc w/ (3)DES fails on Macchiatobin > > Hi Pascal, > > On Fri, Nov 08, 2019 at 08:46:05AM +0100, Pascal van Leeuwen wrote: > > Fixed 2 copy-paste mistakes made during commit 13a1bb93f7b1c9 ("crypto: > > inside-secure - Fixed warnings on inconsistent byte order handling") > > that caused authenc w/ (3)DES to consistently fail on Macchiatobin (but > > strangely work fine on x86+FPGA??). > > Now fully tested on both platforms. > > Can you add a Fixes: tag? > Sure I can :-) If I know what I should put in such a Fixes: tag? (I'm off Googling now, but a response here might be faster :-) > Thanks! > Antoine > > > Signed-off-by: Pascal van Leeuwen <pvanleeuwen@xxxxxxxxxxxxxx> > > --- > > drivers/crypto/inside-secure/safexcel_cipher.c | 5 +++-- > > 1 file changed, 3 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/crypto/inside-secure/safexcel_cipher.c b/drivers/crypto/inside- > secure/safexcel_cipher.c > > index 98f9fc6..c029956 100644 > > --- a/drivers/crypto/inside-secure/safexcel_cipher.c > > +++ b/drivers/crypto/inside-secure/safexcel_cipher.c > > @@ -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); > > -- > > 1.8.3.1 > > > > -- > Antoine Ténart, Bootlin > Embedded Linux and Kernel engineering > https://bootlin.com Regards, Pascal van Leeuwen Silicon IP Architect, Multi-Protocol Engines @ Verimatrix www.insidesecure.com