linux-api.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v12 0/8] Control-flow Enforcement: Indirect Branch Tracking
@ 2020-09-18 19:23 Yu-cheng Yu
  2020-09-18 19:23 ` [PATCH v12 1/8] x86/cet/ibt: Add Kconfig option for user-mode " Yu-cheng Yu
                   ` (5 more replies)
  0 siblings, 6 replies; 39+ messages in thread
From: Yu-cheng Yu @ 2020-09-18 19:23 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 in v12:

- Replace obj file list with $(vobjs) $(vobjs32) in VDSO Makefile.
- Disable vsyscall emulation only when it is attempted.
- Split out ptrace patch.

[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 v11.

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

H.J. Lu (3):
  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

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: Disallow vsyscall emulation when CET is enabled

 arch/x86/Kconfig                              | 18 ++++++
 arch/x86/entry/vdso/Makefile                  |  4 ++
 arch/x86/entry/vdso/vdso32/system_call.S      |  3 +
 arch/x86/entry/vsyscall/vsyscall_64.c         |  9 +++
 arch/x86/include/asm/cet.h                    |  3 +
 arch/x86/include/asm/disabled-features.h      |  8 ++-
 arch/x86/kernel/cet.c                         | 60 ++++++++++++++++++-
 arch/x86/kernel/cet_prctl.c                   |  8 ++-
 arch/x86/kernel/cpu/common.c                  | 17 ++++++
 arch/x86/kernel/fpu/signal.c                  |  8 ++-
 arch/x86/kernel/process_64.c                  |  8 +++
 .../arch/x86/include/asm/disabled-features.h  |  8 ++-
 12 files changed, 146 insertions(+), 8 deletions(-)

-- 
2.21.0


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

end of thread, other threads:[~2020-09-23 22:53 UTC | newest]

Thread overview: 39+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-18 19:23 [PATCH v12 0/8] Control-flow Enforcement: Indirect Branch Tracking Yu-cheng Yu
2020-09-18 19:23 ` [PATCH v12 1/8] x86/cet/ibt: Add Kconfig option for user-mode " Yu-cheng Yu
2020-09-18 20:24   ` Randy Dunlap
2020-09-18 20:59     ` Pavel Machek
2020-09-18 21:08       ` H.J. Lu
2020-09-18 21:24         ` Pavel Machek
2020-09-18 21:36           ` H.J. Lu
2020-09-18 21:25       ` Yu, Yu-cheng
2020-09-18 21:40         ` Pavel Machek
2020-09-18 21:46           ` H.J. Lu
2020-09-18 22:03             ` Pavel Machek
2020-09-21 22:30           ` Yu, Yu-cheng
2020-09-21 22:41             ` Dave Hansen
2020-09-21 22:47               ` Yu, Yu-cheng
     [not found]                 ` <9cf234db-d0f7-0466-be2c-afe04eb76759@intel.com>
2020-09-21 23:27                   ` Yu, Yu-cheng
2020-09-21 22:52               ` Pavel Machek
2020-09-18 19:23 ` [PATCH v12 4/8] x86/cet/ibt: ELF header parsing for " Yu-cheng Yu
2020-09-18 19:23 ` [PATCH v12 5/8] x86/cet/ibt: Update arch_prctl functions " Yu-cheng Yu
2020-09-18 19:23 ` [PATCH v12 6/8] x86/vdso/32: Add ENDBR32 to __kernel_vsyscall entry point Yu-cheng Yu
2020-09-18 19:23 ` [PATCH v12 7/8] x86/vdso: Insert endbr32/endbr64 to vDSO Yu-cheng Yu
2020-09-18 19:23 ` [PATCH v12 8/8] x86: Disallow vsyscall emulation when CET is enabled Yu-cheng Yu
2020-09-18 19:32   ` Dave Hansen
2020-09-18 21:00     ` Pavel Machek
2020-09-18 21:06       ` H.J. Lu
2020-09-18 21:17         ` Dave Hansen
2020-09-18 21:22           ` H.J. Lu
2020-09-18 21:28             ` Dave Hansen
2020-09-18 21:21       ` Yu, Yu-cheng
2020-09-18 21:22         ` Pavel Machek
2020-09-19  0:11   ` Andy Lutomirski
2020-09-21 16:22     ` Yu, Yu-cheng
2020-09-21 22:37       ` Yu-cheng Yu
2020-09-21 23:48         ` Andy Lutomirski
2020-09-23 21:29           ` Sean Christopherson
     [not found]             ` <a2e872ef-5539-c7c1-49ca-95d590f3b92a@intel.com>
     [not found]               ` <e7c20f4c-23a0-4a34-3895-c4f60993ec41@intel.com>
2020-09-23 22:20                 ` Yu, Yu-cheng
2020-09-23 22:47                   ` Andy Lutomirski
2020-09-23 22:53                     ` Dave Hansen
     [not found]           ` <b3defc91-1e8e-d0d5-2ac3-3861a7e3355c@intel.com>
2020-09-23 21:34             ` Andy Lutomirski
2020-09-23 22:07               ` 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).