Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 40190c85 authored by Ard Biesheuvel's avatar Ard Biesheuvel Committed by Russell King
Browse files

ARM: 7837/3: fix Thumb-2 bug in AES assembler code



Patch 638591cd enabled building the AES assembler code in Thumb2 mode.
However, this code used arithmetic involving PC rather than adr{l}
instructions to generate PC-relative references to the lookup tables,
and this needs to take into account the different PC offset when
running in Thumb mode.

Signed-off-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
Acked-by: default avatarNicolas Pitre <nico@linaro.org>
Cc: stable@vger.kernel.org
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent c4a30c3b
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -148,7 +148,7 @@ AES_Te:
@ 		 const AES_KEY *key) {
.align	5
ENTRY(AES_encrypt)
	sub	r3,pc,#8		@ AES_encrypt
	adr	r3,AES_encrypt
	stmdb   sp!,{r1,r4-r12,lr}
	mov	r12,r0		@ inp
	mov	r11,r2
@@ -381,7 +381,7 @@ _armv4_AES_encrypt:
.align	5
ENTRY(private_AES_set_encrypt_key)
_armv4_AES_set_encrypt_key:
	sub	r3,pc,#8		@ AES_set_encrypt_key
	adr	r3,_armv4_AES_set_encrypt_key
	teq	r0,#0
	moveq	r0,#-1
	beq	.Labrt
@@ -843,7 +843,7 @@ AES_Td:
@ 		 const AES_KEY *key) {
.align	5
ENTRY(AES_decrypt)
	sub	r3,pc,#8		@ AES_decrypt
	adr	r3,AES_decrypt
	stmdb   sp!,{r1,r4-r12,lr}
	mov	r12,r0		@ inp
	mov	r11,r2