crypto: aesni-intel - fix unaligned cbc decrypt for x86-32
authorMathias Krause <minipli@googlemail.com>
Tue, 29 May 2012 23:43:08 +0000 (01:43 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Thu, 31 May 2012 10:53:22 +0000 (20:53 +1000)
commit7c8d51848a88aafdb68f42b6b650c83485ea2f84
tree7d8ed09c28d44f7b66d8c81695f7af77d43d7794
parent121daad8fd1dce63076fa55aaedd5dc3f981b334
crypto: aesni-intel - fix unaligned cbc decrypt for x86-32

The 32 bit variant of cbc(aes) decrypt is using instructions requiring
128 bit aligned memory locations but fails to ensure this constraint in
the code. Fix this by loading the data into intermediate registers with
load unaligned instructions.

This fixes reported general protection faults related to aesni.

References: https://bugzilla.kernel.org/show_bug.cgi?id=43223
Reported-by: Daniel <garkein@mailueberfall.de>
Cc: stable@kernel.org [v2.6.39+]
Signed-off-by: Mathias Krause <minipli@googlemail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
arch/x86/crypto/aesni-intel_asm.S