AArch64 assembly pack: authenticate return addresses.
authorAndy Polyakov <appro@openssl.org>
Mon, 11 Feb 2019 14:33:43 +0000 (15:33 +0100)
committerRichard Levitte <levitte@openssl.org>
Tue, 12 Feb 2019 18:00:42 +0000 (19:00 +0100)
commit9a18aae5f21efc59da8b697ad67d5d37b95ab322
tree7b99425b58a70172894332ebf9255b16fd3572da
parenta40f0f6475711f01d32c4cdc39e54311b7e9c876
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)
crypto/aes/asm/aesv8-armx.pl
crypto/aes/asm/vpaes-armv8.pl
crypto/bn/asm/armv8-mont.pl
crypto/chacha/asm/chacha-armv8.pl
crypto/ec/asm/ecp_nistz256-armv8.pl
crypto/poly1305/asm/poly1305-armv8.pl
crypto/sha/asm/keccak1600-armv8.pl
crypto/sha/asm/sha512-armv8.pl