linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v11 0/9] Control-flow Enforcement: Indirect Branch Tracking, PTRACE
@ 2020-08-25  0:26 Yu-cheng Yu
  2020-08-25  0:26 ` [PATCH v11 1/9] x86/cet/ibt: Add Kconfig option for user-mode Indirect Branch Tracking Yu-cheng Yu
                   ` (8 more replies)
  0 siblings, 9 replies; 33+ messages in thread
From: Yu-cheng Yu @ 2020-08-25  0:26 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, Vedvyas Shanbhogue, Dave Martin, Weijiang Yang
  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 from v9:

- Remove the legacy bitmap arch_prctl() as it is not used by GLIBC anymore.
  Should it be needed in the future, I will re-post the patch separately.

[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] Previous IBT patches v9:

    https://lkml.kernel.org/r/20200205182308.4028-1-yu-cheng.yu@intel.com/

    There have been no major changes since v9, and there is no IBT patches
    v10.

H.J. Lu (4):
  x86/cet/ibt: Update arch_prctl functions for Indirect Branch Tracking
  x86/vdso/32: Add ENDBR32 to __kernel_vsyscall entry point
  x86/vdso: Insert endbr32/endbr64 to vDSO
  x86: Disallow vsyscall emulation when CET is enabled

Yu-cheng Yu (5):
  x86/cet/ibt: Add Kconfig option for user-mode Indirect Branch Tracking
  x86/cet/ibt: User-mode Indirect Branch Tracking support
  x86/cet/ibt: Handle signals for Indirect Branch Tracking
  x86/cet/ibt: ELF header parsing for Indirect Branch Tracking
  x86/cet: Add PTRACE interface for CET

 arch/x86/Kconfig                              | 26 +++++++-
 arch/x86/entry/vdso/Makefile                  |  4 ++
 arch/x86/entry/vdso/vdso32/system_call.S      |  3 +
 arch/x86/include/asm/cet.h                    |  3 +
 arch/x86/include/asm/disabled-features.h      |  8 ++-
 arch/x86/include/asm/fpu/regset.h             |  7 ++-
 arch/x86/kernel/cet.c                         | 60 ++++++++++++++++++-
 arch/x86/kernel/cet_prctl.c                   |  8 ++-
 arch/x86/kernel/cpu/common.c                  | 17 ++++++
 arch/x86/kernel/fpu/regset.c                  | 44 ++++++++++++++
 arch/x86/kernel/fpu/signal.c                  |  8 ++-
 arch/x86/kernel/process_64.c                  |  8 +++
 arch/x86/kernel/ptrace.c                      | 16 +++++
 include/uapi/linux/elf.h                      |  1 +
 .../arch/x86/include/asm/disabled-features.h  |  8 ++-
 15 files changed, 208 insertions(+), 13 deletions(-)

-- 
2.21.0


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

end of thread, other threads:[~2020-09-03 17:59 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-25  0:26 [PATCH v11 0/9] Control-flow Enforcement: Indirect Branch Tracking, PTRACE Yu-cheng Yu
2020-08-25  0:26 ` [PATCH v11 1/9] x86/cet/ibt: Add Kconfig option for user-mode Indirect Branch Tracking Yu-cheng Yu
2020-08-25  0:26 ` [PATCH v11 2/9] x86/cet/ibt: User-mode Indirect Branch Tracking support Yu-cheng Yu
2020-08-25  0:26 ` [PATCH v11 3/9] x86/cet/ibt: Handle signals for Indirect Branch Tracking Yu-cheng Yu
2020-08-25  0:26 ` [PATCH v11 4/9] x86/cet/ibt: ELF header parsing " Yu-cheng Yu
2020-08-25  0:26 ` [PATCH v11 5/9] x86/cet/ibt: Update arch_prctl functions " Yu-cheng Yu
2020-08-25  0:26 ` [PATCH v11 6/9] x86/cet: Add PTRACE interface for CET Yu-cheng Yu
2020-09-02 20:03   ` Jann Horn
2020-09-02 22:13     ` Yu, Yu-cheng
2020-09-02 23:50       ` Andy Lutomirski
2020-09-03  2:53         ` Yu, Yu-cheng
2020-09-03  4:35           ` Andy Lutomirski
2020-09-03 14:26             ` Dave Hansen
2020-09-03 14:54               ` Andy Lutomirski
2020-09-03 16:09               ` Yu, Yu-cheng
2020-09-03 16:11                 ` Dave Hansen
2020-09-03 16:15                   ` Andy Lutomirski
2020-09-03 16:25                     ` Dave Hansen
2020-09-03 16:32                       ` Andy Lutomirski
2020-09-03 16:42                         ` Dave Hansen
2020-09-03 17:59                           ` Yu, Yu-cheng
2020-09-03 16:21                   ` Yu, Yu-cheng
2020-09-03 16:25                     ` Andy Lutomirski
2020-09-03  0:33       ` Jann Horn
2020-09-03  2:53         ` Yu, Yu-cheng
2020-08-25  0:26 ` [PATCH v11 7/9] x86/vdso/32: Add ENDBR32 to __kernel_vsyscall entry point Yu-cheng Yu
2020-08-25  0:26 ` [PATCH v11 8/9] x86/vdso: Insert endbr32/endbr64 to vDSO Yu-cheng Yu
2020-08-25  0:33   ` Andy Lutomirski
2020-08-25 16:13     ` Yu, Yu-cheng
2020-08-25  0:26 ` [PATCH v11 9/9] x86: Disallow vsyscall emulation when CET is enabled Yu-cheng Yu
2020-08-25  0:32   ` Andy Lutomirski
2020-08-25  9:14     ` Florian Weimer
2020-08-25 15:08       ` Yu, Yu-cheng

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).