x86: Add endbranch to indirect branch targets for Intel CET
authorH.J. Lu <hongjiu.lu@intel.com>
Fri, 31 Jan 2020 13:07:01 +0000 (05:07 -0800)
committerPauli <paul.dale@oracle.com>
Wed, 5 Feb 2020 01:51:50 +0000 (11:51 +1000)
commite558ae49213c1b7e58addc322675757ec93c2829
tree7efca8b3427408098bbb75d21cb66b1a8d9fcd64
parent34b167625af50a13b8414e11814a795457cb17b0
x86: Add endbranch to indirect branch targets for Intel CET

To support Intel CET, all indirect branch targets must start with
endbranch.  Here is a patch to add endbranch to all function entries
in x86 assembly codes which are indirect branch targets as discovered
by running openssl testsuite on Intel CET machine and visual inspection.

Since x86 cbc.pl uses indirect branch with a jump table, we also need
to add endbranch to all jump targets.

Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/10984)
crypto/perlasm/cbc.pl
crypto/perlasm/x86gas.pl