]> git.karo-electronics.de Git - karo-tx-linux.git/commit
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)
committerBen Hutchings <ben@decadent.org.uk>
Tue, 19 Jun 2012 22:18:08 +0000 (23:18 +0100)
commit0084ba7b528dceee67237bb1d61f9e09c6153cfb
treedfaf216353580e432b06c3641fc3036b1b494a8a
parent5a5ce86198840d0521a3b1255b52ef5a71621b45
crypto: aesni-intel - fix unaligned cbc decrypt for x86-32

commit 7c8d51848a88aafdb68f42b6b650c83485ea2f84 upstream.

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>
Signed-off-by: Mathias Krause <minipli@googlemail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
arch/x86/crypto/aesni-intel_asm.S