diff options
author | Andy Polyakov <appro@openssl.org> | 2015-02-24 10:07:22 +0100 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2015-02-24 10:08:57 +0100 |
commit | e620e5ae37bc3fc5e457ebf3edcdd01b20f8c5dd (patch) | |
tree | 566beb9a1b171d428230494a3f321ee7e869b86e /crypto/aes/asm/bsaes-armv7.pl | |
parent | ccc227565da59c4d6c707925c4230ab2afa2cf87 (diff) |
aes/asm/bsaes-armv7: fix kernel-side XTS and harmonize with Linux.
XTS bug spotted and fix suggested by Adrian Kotelba.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Diffstat (limited to 'crypto/aes/asm/bsaes-armv7.pl')
-rw-r--r-- | crypto/aes/asm/bsaes-armv7.pl | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/crypto/aes/asm/bsaes-armv7.pl b/crypto/aes/asm/bsaes-armv7.pl index fcc81d1a49..a4d3856e7d 100644 --- a/crypto/aes/asm/bsaes-armv7.pl +++ b/crypto/aes/asm/bsaes-armv7.pl @@ -702,7 +702,7 @@ $code.=<<___; # define BSAES_ASM_EXTENDED_KEY # define XTS_CHAIN_TWEAK # define __ARM_ARCH__ __LINUX_ARM_ARCH__ -# define __ARM_MAX_ARCH__ __LINUX_ARM_ARCH__ +# define __ARM_MAX_ARCH__ 7 #endif #ifdef __thumb__ @@ -2078,9 +2078,11 @@ bsaes_xts_decrypt: vld1.8 {@XMM[8]}, [r0] @ initial tweak adr $magic, .Lxts_magic +#ifndef XTS_CHAIN_TWEAK tst $len, #0xf @ if not multiple of 16 it ne @ Thumb2 thing, sanity check in ARM subne $len, #0x10 @ subtract another 16 bytes +#endif subs $len, #0x80 blo .Lxts_dec_short |