summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-06-11 15:31:52 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2012-06-11 15:31:52 +0200
commit4e3c8a1b1c63482403e9d5e3148dee1a711e4b91 (patch)
tree513410a63a617436c94373fa5cf6273c3a85c47c /arch
parentMerge tag 'regmap-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/broon... (diff)
parentcrypto: aesni-intel - fix unaligned cbc decrypt for x86-32 (diff)
downloadlinux-4e3c8a1b1c63482403e9d5e3148dee1a711e4b91.tar.xz
linux-4e3c8a1b1c63482403e9d5e3148dee1a711e4b91.zip
Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Pull crypto fixes from Herbert Xu: "This push fixes an unaligned fault on x86-32 with aesni-intel and an RNG failure with atmel-rng (repeated bits)." * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: aesni-intel - fix unaligned cbc decrypt for x86-32 hwrng: atmel-rng - fix race condition leading to repeated bits
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/crypto/aesni-intel_asm.S6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/x86/crypto/aesni-intel_asm.S b/arch/x86/crypto/aesni-intel_asm.S
index be6d9e365a80..3470624d7835 100644
--- a/arch/x86/crypto/aesni-intel_asm.S
+++ b/arch/x86/crypto/aesni-intel_asm.S
@@ -2460,10 +2460,12 @@ ENTRY(aesni_cbc_dec)
pxor IN3, STATE4
movaps IN4, IV
#else
- pxor (INP), STATE2
- pxor 0x10(INP), STATE3
pxor IN1, STATE4
movaps IN2, IV
+ movups (INP), IN1
+ pxor IN1, STATE2
+ movups 0x10(INP), IN2
+ pxor IN2, STATE3
#endif
movups STATE1, (OUTP)
movups STATE2, 0x10(OUTP)