diff options
author | Andy Polyakov <appro@openssl.org> | 2019-02-11 15:33:43 +0100 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2019-02-12 19:00:42 +0100 |
commit | 9a18aae5f21efc59da8b697ad67d5d37b95ab322 (patch) | |
tree | 7b99425b58a70172894332ebf9255b16fd3572da /crypto/sha/asm/sha512-armv8.pl | |
parent | Add sparse array data type. (diff) | |
download | openssl-9a18aae5f21efc59da8b697ad67d5d37b95ab322.tar.xz openssl-9a18aae5f21efc59da8b697ad67d5d37b95ab322.zip |
AArch64 assembly pack: authenticate return addresses.
ARMv8.3 adds pointer authentication extension, which in this case allows
to ensure that, when offloaded to stack, return address is same at return
as at entry to the subroutine. The new instructions are nops on processors
that don't implement the extension, so that the vetification is backward
compatible.
Reviewed-by: Kurt Roeckx <kurt@roeckx.be>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/8205)
Diffstat (limited to '')
-rw-r--r-- | crypto/sha/asm/sha512-armv8.pl | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/crypto/sha/asm/sha512-armv8.pl b/crypto/sha/asm/sha512-armv8.pl index c787ea81e5..6540a9f3a6 100644 --- a/crypto/sha/asm/sha512-armv8.pl +++ b/crypto/sha/asm/sha512-armv8.pl @@ -219,6 +219,7 @@ $code.=<<___ if ($SZ==8); ___ $code.=<<___; #endif + .inst 0xd503233f // paciasp stp x29,x30,[sp,#-128]! add x29,sp,#0 @@ -280,6 +281,7 @@ $code.=<<___; ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldp x29,x30,[sp],#128 + .inst 0xd50323bf // autiasp ret .size $func,.-$func |