linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v28 00/10] Control-flow Enforcement: Indirect Branch Tracking
@ 2021-07-22 20:57 Yu-cheng Yu
  2021-07-22 20:57 ` [PATCH v28 01/10] x86/cet/ibt: Add Kconfig option for " Yu-cheng Yu
                   ` (9 more replies)
  0 siblings, 10 replies; 13+ messages in thread
From: Yu-cheng Yu @ 2021-07-22 20:57 UTC (permalink / raw)
  To: x86, H. Peter Anvin, Thomas Gleixner, Ingo Molnar, linux-kernel,
	linux-doc, linux-mm, linux-arch, linux-api, Arnd Bergmann,
	Andy Lutomirski, Balbir Singh, Borislav Petkov, Cyrill Gorcunov,
	Dave Hansen, Eugene Syromiatnikov, Florian Weimer, H.J. Lu,
	Jann Horn, Jonathan Corbet, Kees Cook, Mike Kravetz, Nadav Amit,
	Oleg Nesterov, Pavel Machek, Peter Zijlstra, Randy Dunlap,
	Ravi V. Shankar, Dave Martin, Weijiang Yang, Pengfei Xu,
	Haitao Huang, Rick P Edgecombe
  Cc: Yu-cheng Yu

Control-flow Enforcement (CET) is a new Intel processor feature that blocks
return/jump-oriented programming attacks.  Details are in "Intel 64 and
IA-32 Architectures Software Developer's Manual" [1].

This is the second part of CET and enables Indirect Branch Tracking (IBT).
It is built on top of the shadow stack series.

Changes in v28:
- Patch #10: Update change log and comments.

Changes in v27:
- Use a ucontext flag to save/restore IBT status.
- Disable IBT support for IA32.
- Rebase to Linus tree v5.13-rc2.

[1] Intel 64 and IA-32 Architectures Software Developer's Manual:

    https://software.intel.com/en-us/download/intel-64-and-ia-32-
    architectures-sdm-combined-volumes-1-2a-2b-2c-2d-3a-3b-3c-3d-and-4

[2] Indirect Branch Tracking patches v27:

    https://lore.kernel.org/r/20210521221531.30168-1-yu-cheng.yu@intel.com/

H.J. Lu (3):
  x86/cet/ibt: Update arch_prctl functions for Indirect Branch Tracking
  x86/vdso: Insert endbr32/endbr64 to vDSO
  x86/vdso/32: Add ENDBR to __kernel_vsyscall entry point

Yu-cheng Yu (7):
  x86/cet/ibt: Add Kconfig option for Indirect Branch Tracking
  x86/cet/ibt: Add user-mode Indirect Branch Tracking support
  x86/cet/ibt: Handle signals for Indirect Branch Tracking
  x86/cet/ibt: Disable IBT for ia32
  x86/cet/ibt: Update ELF header parsing for Indirect Branch Tracking
  x86/vdso: Introduce ENDBR macro
  x86/vdso: Add ENDBR to __vdso_sgx_enter_enclave

 arch/x86/Kconfig                         | 19 +++++
 arch/x86/entry/vdso/Makefile             |  4 +
 arch/x86/entry/vdso/vdso32/system_call.S |  2 +
 arch/x86/entry/vdso/vsgx.S               |  4 +
 arch/x86/ia32/ia32_signal.c              | 22 +++++-
 arch/x86/include/asm/cet.h               | 13 ++++
 arch/x86/include/asm/disabled-features.h |  8 +-
 arch/x86/include/asm/elf.h               | 13 +++-
 arch/x86/include/asm/vdso.h              | 20 ++++-
 arch/x86/include/uapi/asm/ucontext.h     |  5 ++
 arch/x86/kernel/Makefile                 |  1 +
 arch/x86/kernel/cet_prctl.c              |  5 ++
 arch/x86/kernel/ibt.c                    | 99 ++++++++++++++++++++++++
 arch/x86/kernel/process_64.c             |  6 ++
 arch/x86/kernel/signal.c                 |  6 ++
 15 files changed, 221 insertions(+), 6 deletions(-)
 create mode 100644 arch/x86/kernel/ibt.c

-- 
2.21.0



^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2021-08-10 16:08 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-22 20:57 [PATCH v28 00/10] Control-flow Enforcement: Indirect Branch Tracking Yu-cheng Yu
2021-07-22 20:57 ` [PATCH v28 01/10] x86/cet/ibt: Add Kconfig option for " Yu-cheng Yu
2021-07-22 20:57 ` [PATCH v28 02/10] x86/cet/ibt: Add user-mode Indirect Branch Tracking support Yu-cheng Yu
2021-07-22 20:57 ` [PATCH v28 03/10] x86/cet/ibt: Handle signals for Indirect Branch Tracking Yu-cheng Yu
2021-07-22 20:57 ` [PATCH v28 04/10] x86/cet/ibt: Disable IBT for ia32 Yu-cheng Yu
2021-08-09 23:04   ` Andy Lutomirski
2021-08-10 16:07     ` Yu, Yu-cheng
2021-07-22 20:57 ` [PATCH v28 05/10] x86/cet/ibt: Update ELF header parsing for Indirect Branch Tracking Yu-cheng Yu
2021-07-22 20:57 ` [PATCH v28 06/10] x86/cet/ibt: Update arch_prctl functions " Yu-cheng Yu
2021-07-22 20:57 ` [PATCH v28 07/10] x86/vdso: Insert endbr32/endbr64 to vDSO Yu-cheng Yu
2021-07-22 20:57 ` [PATCH v28 08/10] x86/vdso: Introduce ENDBR macro Yu-cheng Yu
2021-07-22 20:57 ` [PATCH v28 09/10] x86/vdso/32: Add ENDBR to __kernel_vsyscall entry point Yu-cheng Yu
2021-07-22 20:57 ` [PATCH v28 10/10] x86/vdso: Add ENDBR to __vdso_sgx_enter_enclave Yu-cheng Yu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).