18e66b695e
Shadow stack provides protection for applications against function return address corruption. It is active when the processor supports it, the kernel has CONFIG_X86_SHADOW_STACK enabled, and the application is built for the feature. This is only implemented for the 64-bit kernel. When it is enabled, legacy non-shadow stack applications continue to work, but without protection. Since there is another feature that utilizes CET (Kernel IBT) that will share implementation with shadow stacks, create CONFIG_CET to signify that at least one CET feature is configured. Co-developed-by: Yu-cheng Yu <yu-cheng.yu@intel.com> Signed-off-by: Yu-cheng Yu <yu-cheng.yu@intel.com> Signed-off-by: Rick Edgecombe <rick.p.edgecombe@intel.com> Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com> Reviewed-by: Borislav Petkov (AMD) <bp@alien8.de> Reviewed-by: Kees Cook <keescook@chromium.org> Acked-by: Mike Rapoport (IBM) <rppt@kernel.org> Tested-by: Pengfei Xu <pengfei.xu@intel.com> Tested-by: John Allen <john.allen@amd.com> Tested-by: Kees Cook <keescook@chromium.org> Link: https://lore.kernel.org/all/20230613001108.3040476-7-rick.p.edgecombe%40intel.com
32 lines
942 B
Plaintext
32 lines
942 B
Plaintext
# SPDX-License-Identifier: GPL-2.0
|
|
# Copyright (C) 2020 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
|
|
|
|
config AS_AVX512
|
|
def_bool $(as-instr,vpmovm2b %k1$(comma)%zmm5)
|
|
help
|
|
Supported by binutils >= 2.25 and LLVM integrated assembler
|
|
|
|
config AS_SHA1_NI
|
|
def_bool $(as-instr,sha1msg1 %xmm0$(comma)%xmm1)
|
|
help
|
|
Supported by binutils >= 2.24 and LLVM integrated assembler
|
|
|
|
config AS_SHA256_NI
|
|
def_bool $(as-instr,sha256msg1 %xmm0$(comma)%xmm1)
|
|
help
|
|
Supported by binutils >= 2.24 and LLVM integrated assembler
|
|
config AS_TPAUSE
|
|
def_bool $(as-instr,tpause %ecx)
|
|
help
|
|
Supported by binutils >= 2.31.1 and LLVM integrated assembler >= V7
|
|
|
|
config AS_GFNI
|
|
def_bool $(as-instr,vgf2p8mulb %xmm0$(comma)%xmm1$(comma)%xmm2)
|
|
help
|
|
Supported by binutils >= 2.30 and LLVM integrated assembler
|
|
|
|
config AS_WRUSS
|
|
def_bool $(as-instr,wrussq %rax$(comma)(%rbx))
|
|
help
|
|
Supported by binutils >= 2.31 and LLVM integrated assembler
|