diff options
author | Peter Zijlstra <peterz@infradead.org> | 2022-03-08 18:30:27 +0300 |
---|---|---|
committer | Peter Zijlstra <peterz@infradead.org> | 2022-03-15 12:32:36 +0300 |
commit | 214b9a83b617367d53680812ad09687542370b8e (patch) | |
tree | 013bbe99d30a700497772ccf8a702603d60d324c /arch/x86/crypto | |
parent | c3b037917c6a4cbb09ab2d6ccf19f02335ad1847 (diff) | |
download | linux-214b9a83b617367d53680812ad09687542370b8e.tar.xz |
x86/ibt,crypto: Add ENDBR for the jump-table entries
The code does:
## branch into array
mov jump_table(,%rax,8), %bufp
JMP_NOSPEC bufp
resulting in needing to mark the jump-table entries with ENDBR.
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Josh Poimboeuf <jpoimboe@redhat.com>
Link: https://lore.kernel.org/r/20220308154318.110500806@infradead.org
Diffstat (limited to 'arch/x86/crypto')
-rw-r--r-- | arch/x86/crypto/crc32c-pcl-intel-asm_64.S | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/crypto/crc32c-pcl-intel-asm_64.S b/arch/x86/crypto/crc32c-pcl-intel-asm_64.S index 80c0d22fc42c..ec35915f0901 100644 --- a/arch/x86/crypto/crc32c-pcl-intel-asm_64.S +++ b/arch/x86/crypto/crc32c-pcl-intel-asm_64.S @@ -195,6 +195,7 @@ crc_array: .altmacro LABEL crc_ %i .noaltmacro + ENDBR crc32q -i*8(block_0), crc_init crc32q -i*8(block_1), crc1 crc32q -i*8(block_2), crc2 @@ -204,6 +205,7 @@ LABEL crc_ %i .altmacro LABEL crc_ %i .noaltmacro + ENDBR crc32q -i*8(block_0), crc_init crc32q -i*8(block_1), crc1 # SKIP crc32 -i*8(block_2), crc2 ; Don't do this one yet @@ -237,6 +239,7 @@ LABEL crc_ %i ################################################################ LABEL crc_ 0 + ENDBR mov tmp, len cmp $128*24, tmp jae full_block |