aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorArd Biesheuvel <ard.biesheuvel@gmail.com>2013-05-15 05:46:30 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2013-05-22 17:01:35 -0400
commit934fc24df10abfd5aff533d0d044a17669d77d79 (patch)
tree4dc66b9eb61148b287d7dd55099fc065fce1cdd4 /arch/arm
parentc7788792a5e7b0d5d7f96d0766b4cb6112d47d75 (diff)
ARM: 7723/1: crypto: sha1-armv4-large.S: fix SP handling
Make the SHA1 asm code ABI conformant by making sure all stack accesses occur above the stack pointer. Origin: http://git.openssl.org/gitweb/?p=openssl.git;a=commit;h=1a9d60d2 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Acked-by: Nicolas Pitre <nico@linaro.org> Cc: stable@vger.kernel.org Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/crypto/sha1-armv4-large.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/crypto/sha1-armv4-large.S b/arch/arm/crypto/sha1-armv4-large.S
index 92c6eed7aac9..99207c45ec10 100644
--- a/arch/arm/crypto/sha1-armv4-large.S
+++ b/arch/arm/crypto/sha1-armv4-large.S
@@ -195,6 +195,7 @@ ENTRY(sha1_block_data_order)
195 add r3,r3,r10 @ E+=F_00_19(B,C,D) 195 add r3,r3,r10 @ E+=F_00_19(B,C,D)
196 cmp r14,sp 196 cmp r14,sp
197 bne .L_00_15 @ [((11+4)*5+2)*3] 197 bne .L_00_15 @ [((11+4)*5+2)*3]
198 sub sp,sp,#25*4
198#if __ARM_ARCH__<7 199#if __ARM_ARCH__<7
199 ldrb r10,[r1,#2] 200 ldrb r10,[r1,#2]
200 ldrb r9,[r1,#3] 201 ldrb r9,[r1,#3]
@@ -290,7 +291,6 @@ ENTRY(sha1_block_data_order)
290 add r3,r3,r10 @ E+=F_00_19(B,C,D) 291 add r3,r3,r10 @ E+=F_00_19(B,C,D)
291 292
292 ldr r8,.LK_20_39 @ [+15+16*4] 293 ldr r8,.LK_20_39 @ [+15+16*4]
293 sub sp,sp,#25*4
294 cmn sp,#0 @ [+3], clear carry to denote 20_39 294 cmn sp,#0 @ [+3], clear carry to denote 20_39
295.L_20_39_or_60_79: 295.L_20_39_or_60_79:
296 ldr r9,[r14,#15*4] 296 ldr r9,[r14,#15*4]