From: Greg Kroah-Hartman Date: Mon, 11 Jun 2012 15:29:38 +0000 (-0700) Subject: 3.0-stable patches X-Git-Tag: v3.0.35~15 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=dff638e914e08175d2f21935f9fc5d45b6f88181;p=thirdparty%2Fkernel%2Fstable-queue.git 3.0-stable patches added patches: crypto-aesni-intel-fix-unaligned-cbc-decrypt-for-x86-32.patch --- diff --git a/queue-3.0/crypto-aesni-intel-fix-unaligned-cbc-decrypt-for-x86-32.patch b/queue-3.0/crypto-aesni-intel-fix-unaligned-cbc-decrypt-for-x86-32.patch new file mode 100644 index 00000000000..5509c5dc9d1 --- /dev/null +++ b/queue-3.0/crypto-aesni-intel-fix-unaligned-cbc-decrypt-for-x86-32.patch @@ -0,0 +1,43 @@ +From 7c8d51848a88aafdb68f42b6b650c83485ea2f84 Mon Sep 17 00:00:00 2001 +From: Mathias Krause +Date: Wed, 30 May 2012 01:43:08 +0200 +Subject: crypto: aesni-intel - fix unaligned cbc decrypt for x86-32 + +From: Mathias Krause + +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 +Signed-off-by: Mathias Krause +Signed-off-by: Herbert Xu +Signed-off-by: Greg Kroah-Hartman + +--- + arch/x86/crypto/aesni-intel_asm.S | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +--- 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) diff --git a/queue-3.0/series b/queue-3.0/series index 6319d022638..a3857ddbf26 100644 --- a/queue-3.0/series +++ b/queue-3.0/series @@ -1,3 +1,4 @@ char-agp-add-another-ironlake-host-bridge.patch btree-fix-tree-corruption-in-btree_get_prev.patch powerpc-fix-kernel-panic-during-kernel-module-load.patch +crypto-aesni-intel-fix-unaligned-cbc-decrypt-for-x86-32.patch