• Linus Torvalds's avatar
    Merge tag 'kcfi-v6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 865dad20
    Linus Torvalds authored
    Pull kcfi updates from Kees Cook:
     "This replaces the prior support for Clang's standard Control Flow
      Integrity (CFI) instrumentation, which has required a lot of special
      conditions (e.g. LTO) and work-arounds.
    
      The new implementation ("Kernel CFI") is specific to C, directly
      designed for the Linux kernel, and takes advantage of architectural
      features like x86's IBT. This series retains arm64 support and adds
      x86 support.
    
      GCC support is expected in the future[1], and additional "generic"
      architectural support is expected soon[2].
    
      Summary:
    
       - treewide: Remove old CFI support details
    
       - arm64: Replace Clang CFI support with Clang KCFI support
    
       - x86: Introduce Clang KCFI support"
    
    Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107048 [1]
    Link: https://github.com/samitolvanen/llvm-project/commits/kcfi_generic [2]
    
    * tag 'kcfi-v6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux: (22 commits)
      x86: Add support for CONFIG_CFI_CLANG
      x86/purgatory: Disable CFI
      x86: Add types to indirectly called assembly functions
      x86/tools/relocs: Ignore __kcfi_typeid_ relocations
      kallsyms: Drop CONFIG_CFI_CLANG workarounds
      objtool: Disable CFI warnings
      objtool: Preserve special st_shndx indexes in elf_update_symbol
      treewide: Drop __cficanonical
      treewide: Drop WARN_ON_FUNCTION_MISMATCH
      treewide: Drop function_nocfi
      init: Drop __nocfi from __init
      arm64: Drop unneeded __nocfi attributes
      arm64: Add CFI error handling
      arm64: Add types to indirect called assembly functions
      psci: Fix the function type for psci_initcall_t
      lkdtm: Emit an indirect call for CFI tests
      cfi: Add type helper macros
      cfi: Switch to -fsanitize=kcfi
      cfi: Drop __CFI_ADDRESSABLE
      cfi: Remove CONFIG_CFI_CLANG_SHADOW
      ...
    865dad20
Makefile 69.4 KB