• Linus Torvalds's avatar
    Merge tag 'x86_shstk_for_6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · df57721f
    Linus Torvalds authored
    Pull x86 shadow stack support from Dave Hansen:
     "This is the long awaited x86 shadow stack support, part of Intel's
      Control-flow Enforcement Technology (CET).
    
      CET consists of two related security features: shadow stacks and
      indirect branch tracking. This series implements just the shadow stack
      part of this feature, and just for userspace.
    
      The main use case for shadow stack is providing protection against
      return oriented programming attacks. It works by maintaining a
      secondary (shadow) stack using a special memory type that has
      protections against modification. When executing a CALL instruction,
      the processor pushes the return address to both the normal stack and
      to the special permission shadow stack. Upon RET, the processor pops
      the shadow stack copy and compares it to the normal stack copy.
    
      For more information, refer to the links below for the earlier
      versions of this patch set"
    
    Link: https://lore.kernel.org/lkml/20220130211838.8382-1-rick.p.edgecombe@intel.com/
    Link: https://lore.kernel.org/lkml/20230613001108.3040476-1-rick.p.edgecombe@intel.com/
    
    * tag 'x86_shstk_for_6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (47 commits)
      x86/shstk: Change order of __user in type
      x86/ibt: Convert IBT selftest to asm
      x86/shstk: Don't retry vm_munmap() on -EINTR
      x86/kbuild: Fix Documentation/ reference
      x86/shstk: Move arch detail comment out of core mm
      x86/shstk: Add ARCH_SHSTK_STATUS
      x86/shstk: Add ARCH_SHSTK_UNLOCK
      x86: Add PTRACE interface for shadow stack
      selftests/x86: Add shadow stack test
      x86/cpufeatures: Enable CET CR4 bit for shadow stack
      x86/shstk: Wire in shadow stack interface
      x86: Expose thread features in /proc/$PID/status
      x86/shstk: Support WRSS for userspace
      x86/shstk: Introduce map_shadow_stack syscall
      x86/shstk: Check that signal frame is shadow stack mem
      x86/shstk: Check that SSP is aligned on sigreturn
      x86/shstk: Handle signals for shadow stack
      x86/shstk: Introduce routines modifying shstk
      x86/shstk: Handle thread shadow stack
      x86/shstk: Add user-mode shadow stack support
      ...
    df57721f
pgtable.h 18.6 KB