summaryrefslogtreecommitdiff
path: root/cipher/chacha20-aarch64.S
diff options
context:
space:
mode:
authorJussi Kivilinna <jussi.kivilinna@iki.fi>2022-01-08 21:09:09 +0200
committerJussi Kivilinna <jussi.kivilinna@iki.fi>2022-01-11 20:10:12 +0200
commit34bcc102158a651781f4e7639e2654068a39db6d (patch)
treee96dbc6c4b2288e4ec299c6fcff3d55ff46c4259 /cipher/chacha20-aarch64.S
parent11ade08efbfbc36dbf3571f1026946269950bc40 (diff)
downloadlibgcrypt-34bcc102158a651781f4e7639e2654068a39db6d.tar.gz
Add straight-line speculation hardening for aarch64 assembly
* cipher/asm-common-aarch64.h (ret_spec_stop): New. * cipher/asm-poly1305-aarch64.h: Use 'ret_spec_stop' for 'ret' instruction. * cipher/camellia-aarch64.S: Likewise. * cipher/chacha20-aarch64.S: Likewise. * cipher/cipher-gcm-armv8-aarch64-ce.S: Likewise. * cipher/crc-armv8-aarch64-ce.S: Likewise. * cipher/rijndael-aarch64.S: Likewise. * cipher/rijndael-armv8-aarch64-ce.S: Likewise. * cipher/sha1-armv8-aarch64-ce.S: Likewise. * cipher/sha256-armv8-aarch64-ce.S: Likewise. * cipher/sm3-aarch64.S: Likewise. * cipher/twofish-aarch64.S: Likewise. * mpi/aarch64/mpih-add1.S: Likewise. * mpi/aarch64/mpih-mul1.S: Likewise. * mpi/aarch64/mpih-mul2.S: Likewise. * mpi/aarch64/mpih-mul3.S: Likewise. * mpi/aarch64/mpih-sub1.S: Likewise. -- Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
Diffstat (limited to 'cipher/chacha20-aarch64.S')
-rw-r--r--cipher/chacha20-aarch64.S4
1 files changed, 2 insertions, 2 deletions
diff --git a/cipher/chacha20-aarch64.S b/cipher/chacha20-aarch64.S
index 4f76834b..2a980b95 100644
--- a/cipher/chacha20-aarch64.S
+++ b/cipher/chacha20-aarch64.S
@@ -356,7 +356,7 @@ _gcry_chacha20_aarch64_blocks4:
clear(X15);
eor x0, x0, x0
- ret
+ ret_spec_stop
CFI_ENDPROC()
ELF(.size _gcry_chacha20_aarch64_blocks4, .-_gcry_chacha20_aarch64_blocks4;)
@@ -641,7 +641,7 @@ _gcry_chacha20_poly1305_aarch64_blocks4:
eor x0, x0, x0
POLY1305_POP_REGS()
- ret
+ ret_spec_stop
CFI_ENDPROC()
ELF(.size _gcry_chacha20_poly1305_aarch64_blocks4, .-_gcry_chacha20_poly1305_aarch64_blocks4;)