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>
This commit is contained in:
parent
ccc227565d
commit
e620e5ae37
@ -702,7 +702,7 @@ $code.=<<___;
|
|||||||
# define BSAES_ASM_EXTENDED_KEY
|
# define BSAES_ASM_EXTENDED_KEY
|
||||||
# define XTS_CHAIN_TWEAK
|
# define XTS_CHAIN_TWEAK
|
||||||
# define __ARM_ARCH__ __LINUX_ARM_ARCH__
|
# define __ARM_ARCH__ __LINUX_ARM_ARCH__
|
||||||
# define __ARM_MAX_ARCH__ __LINUX_ARM_ARCH__
|
# define __ARM_MAX_ARCH__ 7
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __thumb__
|
#ifdef __thumb__
|
||||||
@ -2078,9 +2078,11 @@ bsaes_xts_decrypt:
|
|||||||
vld1.8 {@XMM[8]}, [r0] @ initial tweak
|
vld1.8 {@XMM[8]}, [r0] @ initial tweak
|
||||||
adr $magic, .Lxts_magic
|
adr $magic, .Lxts_magic
|
||||||
|
|
||||||
|
#ifndef XTS_CHAIN_TWEAK
|
||||||
tst $len, #0xf @ if not multiple of 16
|
tst $len, #0xf @ if not multiple of 16
|
||||||
it ne @ Thumb2 thing, sanity check in ARM
|
it ne @ Thumb2 thing, sanity check in ARM
|
||||||
subne $len, #0x10 @ subtract another 16 bytes
|
subne $len, #0x10 @ subtract another 16 bytes
|
||||||
|
#endif
|
||||||
subs $len, #0x80
|
subs $len, #0x80
|
||||||
|
|
||||||
blo .Lxts_dec_short
|
blo .Lxts_dec_short
|
||||||
|
Loading…
x
Reference in New Issue
Block a user