Messages in this thread Patch in this message | | | Date | Wed, 22 Feb 2006 23:43:40 +1100 | Subject | Re: [SOLVED] Re: which one is broken: VIA padlock aes or aes_i586? | From | Herbert Xu <> |
| |
On Wed, Feb 22, 2006 at 01:32:20PM +0100, Michael Heyse wrote: > > but it should be > > E_KEY[4] = le32_to_cpu(key[4]); > E_KEY[5] = le32_to_cpu(key[5]); > E_KEY[6] = le32_to_cpu(key[6]); > t = E_KEY[7] = le32_to_cpu(key[7]); > > Now it's working!
Well spotted. I've cooked up a patch from your description:
[CRYPTO] padlock: Fix typo that broke 256-bit keys
A typo crept into the le32_to_cpu patch which broke 256-bit keys in the padlock driver. The following patch based on observations by Michael Heyse fixes the problem.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Thanks Michael, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt diff --git a/drivers/crypto/padlock-aes.c b/drivers/crypto/padlock-aes.c --- a/drivers/crypto/padlock-aes.c +++ b/drivers/crypto/padlock-aes.c @@ -348,10 +348,10 @@ aes_set_key(void *ctx_arg, const uint8_t break; case 32: - E_KEY[4] = le32_to_cpu(in_key[4]); - E_KEY[5] = le32_to_cpu(in_key[5]); - E_KEY[6] = le32_to_cpu(in_key[6]); - t = E_KEY[7] = le32_to_cpu(in_key[7]); + E_KEY[4] = le32_to_cpu(key[4]); + E_KEY[5] = le32_to_cpu(key[5]); + E_KEY[6] = le32_to_cpu(key[6]); + t = E_KEY[7] = le32_to_cpu(key[7]); for (i = 0; i < 7; ++i) loop8 (i); break; | |