From e620e5ae37bc3fc5e457ebf3edcdd01b20f8c5dd Mon Sep 17 00:00:00 2001 From: Andy Polyakov Date: Tue, 24 Feb 2015 10:07:22 +0100 Subject: [PATCH] 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 --- crypto/aes/asm/bsaes-armv7.pl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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 -- 2.25.1