lkml.org 
[lkml]   [2018]   [Oct]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v5 01/11] x86/cet/ibt: Add Kconfig option for user-mode Indirect Branch Tracking
    Date
    The user-mode indirect branch tracking support is done mostly by
    GCC to insert ENDBR64/ENDBR32 instructions at branch targets.
    The kernel provides CPUID enumeration, feature MSR setup and
    the allocation of legacy bitmap.

    Signed-off-by: Yu-cheng Yu <yu-cheng.yu@intel.com>
    ---
    arch/x86/Kconfig | 16 ++++++++++++++++
    arch/x86/Makefile | 7 +++++++
    2 files changed, 23 insertions(+)

    diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
    index ac2244896a18..dd65dae3c5cb 100644
    --- a/arch/x86/Kconfig
    +++ b/arch/x86/Kconfig
    @@ -1919,6 +1919,9 @@ config X86_INTEL_CET
    config ARCH_HAS_SHSTK
    def_bool n

    +config ARCH_HAS_AS_LIMIT
    + def_bool n
    +
    config ARCH_HAS_PROGRAM_PROPERTIES
    def_bool n

    @@ -1943,6 +1946,19 @@ config X86_INTEL_SHADOW_STACK_USER

    If unsure, say y.

    +config X86_INTEL_BRANCH_TRACKING_USER
    + prompt "Intel Indirect Branch Tracking for user-mode"
    + def_bool n
    + depends on CPU_SUP_INTEL && X86_64
    + select X86_INTEL_CET
    + select ARCH_HAS_AS_LIMIT
    + select ARCH_HAS_PROGRAM_PROPERTIES
    + ---help---
    + Indirect Branch Tracking provides hardware protection against return-/jmp-
    + oriented programming attacks.
    +
    + If unsure, say y
    +
    config EFI
    bool "EFI runtime service support"
    depends on ACPI
    diff --git a/arch/x86/Makefile b/arch/x86/Makefile
    index b28842b80295..ff652bba849f 100644
    --- a/arch/x86/Makefile
    +++ b/arch/x86/Makefile
    @@ -159,6 +159,13 @@ ifdef CONFIG_X86_INTEL_SHADOW_STACK_USER
    endif
    endif

    +# Check compiler ibt support
    +ifdef CONFIG_X86_INTEL_BRANCH_TRACKING_USER
    + ifeq ($(call cc-option-yn, -fcf-protection=branch), n)
    + $(error CONFIG_X86_INTEL_BRANCH_TRACKING_USER not supported by compiler)
    + endif
    +endif
    +
    #
    # If the function graph tracer is used with mcount instead of fentry,
    # '-maccumulate-outgoing-args' is needed to prevent a GCC bug
    --
    2.17.1
    \
     
     \ /
      Last update: 2018-10-11 17:22    [W:2.645 / U:0.312 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site