linux/arch/x86/crypto
Mathias Krause 7c8d51848a 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>
2012-05-31 20:53:22 +10:00
..
aes_glue.c Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2011-11-06 19:44:47 -08:00
aes-i586-asm_32.S crypto: aes - Export x86 AES encrypt/decrypt functions 2009-02-18 16:48:05 +08:00
aes-x86_64-asm_64.S crypto: aes - Export x86 AES encrypt/decrypt functions 2009-02-18 16:48:05 +08:00
aesni-intel_asm.S crypto: aesni-intel - fix unaligned cbc decrypt for x86-32 2012-05-31 20:53:22 +10:00
aesni-intel_glue.c crypto: aesni-intel - move more common code to ablk_init_common 2012-05-15 17:25:33 +10:00
blowfish_glue.c crypto: blowfish-x86_64 - set alignmask to zero 2012-02-25 17:20:24 +08:00
blowfish-x86_64-asm_64.S crypto: blowfish-x86_64 - improve x86_64 blowfish 4-way performance 2011-10-21 14:23:07 +02:00
camellia_glue.c crypto: camellia-x86_64 - module init/exit functions should be static 2012-03-22 09:17:44 +08:00
camellia-x86_64-asm_64.S crypto: camellia - add assembler implementation for x86_64 2012-03-14 17:25:56 +08:00
crc32c-intel.c crypto: Add support for x86 cpuid auto loading for x86 crypto drivers 2012-01-26 16:48:10 -08:00
fpu.c crypto: aesni-intel - Merge with fpu.ko 2011-05-16 15:12:47 +10:00
ghash-clmulni-intel_asm.S crypto: ghash-clmulni-intel - Put proper .data section in place 2009-11-23 20:19:47 +08:00
ghash-clmulni-intel_glue.c crypto: Add support for x86 cpuid auto loading for x86 crypto drivers 2012-01-26 16:48:10 -08:00
Makefile crypto: camellia - add assembler implementation for x86_64 2012-03-14 17:25:56 +08:00
salsa20_glue.c [CRYPTO] salsa20: Add x86-64 assembly version 2008-01-11 08:16:57 +11:00
salsa20-i586-asm_32.S [CRYPTO] salsa20_i586: Salsa20 stream cipher algorithm (i586 version) 2008-01-11 08:16:57 +11:00
salsa20-x86_64-asm_64.S [CRYPTO] salsa20: Add x86-64 assembly version 2008-01-11 08:16:57 +11:00
serpent_sse2_glue.c crypto: serpent-sse2 - combine ablk_*_init functions 2012-02-25 17:20:23 +08:00
serpent-sse2-i586-asm_32.S crypto: serpent-sse2 - change transpose_4x4 to only use integer instructions 2012-01-13 16:38:40 +11:00
serpent-sse2-x86_64-asm_64.S crypto: serpent-sse2 - change transpose_4x4 to only use integer instructions 2012-01-13 16:38:40 +11:00
sha1_ssse3_asm.S crypto: sha1 - SSSE3 based SHA1 implementation for x86-64 2011-08-10 19:00:29 +08:00
sha1_ssse3_glue.c crypto: sha1 - SSSE3 based SHA1 implementation for x86-64 2011-08-10 19:00:29 +08:00
twofish_glue_3way.c crypto: twofish-x86_64-3way - module init/exit functions should be static 2012-03-22 09:17:45 +08:00
twofish_glue.c crypto: twofish-x86_64/i586 - set alignmask to zero 2012-02-25 17:20:24 +08:00
twofish-i586-asm_32.S crypto: twofish-x86-asm - make assembler functions use twofish_ctx instead of crypto_tfm 2011-10-21 14:23:08 +02:00
twofish-x86_64-asm_64-3way.S crypto: twofish - add 3-way parallel x86_64 assembler implemention 2011-10-21 14:23:08 +02:00
twofish-x86_64-asm_64.S crypto: twofish-x86-asm - make assembler functions use twofish_ctx instead of crypto_tfm 2011-10-21 14:23:08 +02:00