Re: [PATCH v5 00/22] KCFI support
From: Sedat Dilek <hidden>
Date: 2022-09-28 09:02:49
Also in:
linux-hardening, lkml, llvm
On Mon, Sep 26, 2022 at 7:21 PM Kees Cook [off-list ref] wrote:
On Thu, 8 Sep 2022 14:54:42 -0700, Sami Tolvanen wrote:quoted
KCFI is a forward-edge control-flow integrity scheme in the upcoming Clang 16 release, which is more suitable for kernel use than the existing CFI scheme used by CONFIG_CFI_CLANG. KCFI doesn't require LTO, doesn't alter function references to point to a jump table, and won't break function address equality. This series replaces the current arm64 CFI implementation with KCFI and adds support for x86_64. [...]I assume that Peter's Ack means I should carry the tree, so, to that end: Applied to for-next/kcfi, thanks!
Hi, I did regularly KCFI testing. 1. Used Sami's samitolvanen.github#linux/kcfi Git on the Linux side. 2. Used *not* LLVM-16 (including KCFI) but with LLVM-15 from samitolvanen.github#llvm-project/15.x/kcfi Git on the toolchain side. My last testing was with [1] (Linux v6.0-rc7 + KCFI) and [2] (LLVM v15.0.1 + KCFI) plus drm-i915-gt/KCFI for Linux v6.0-rc7 patch from Nathan (see [3]). Thanks Sami for updating 15.x/kcfi on LLVM side on my request. So, feel free to add my: Tested-by: Sedat Dilek <redacted> # LLVM-15 (with KCFI support) on x86-64 Thanks to all involved people! Best regards, -Sedat- [1] https://github.com/samitolvanen/linux/commits/kcfi [2] https://github.com/samitolvanen/llvm-project/commits/15.x/kcfi [3] https://github.com/ClangBuiltLinux/linux/issues/1716#issuecomment-1257311327
[01/22] treewide: Filter out CC_FLAGS_CFI
https://git.kernel.org/kees/c/f143ff397a3f
[02/22] scripts/kallsyms: Ignore __kcfi_typeid_
https://git.kernel.org/kees/c/d0f9562ee43a
[03/22] cfi: Remove CONFIG_CFI_CLANG_SHADOW
https://git.kernel.org/kees/c/9fca7115827b
[04/22] cfi: Drop __CFI_ADDRESSABLE
https://git.kernel.org/kees/c/92efda8eb152
[05/22] cfi: Switch to -fsanitize=kcfi
https://git.kernel.org/kees/c/89245600941e
[06/22] cfi: Add type helper macros
https://git.kernel.org/kees/c/e84e008e7b02
[07/22] lkdtm: Emit an indirect call for CFI tests
https://git.kernel.org/kees/c/cf90d0383560
[08/22] psci: Fix the function type for psci_initcall_t
https://git.kernel.org/kees/c/44f665b69c67
[09/22] arm64: Add types to indirect called assembly functions
https://git.kernel.org/kees/c/c50d32859e70
[10/22] arm64: Add CFI error handling
https://git.kernel.org/kees/c/b26e484b8bb3
[11/22] arm64: Drop unneeded __nocfi attributes
https://git.kernel.org/kees/c/5f20997c194e
[12/22] init: Drop __nocfi from __init
https://git.kernel.org/kees/c/5dbbb3eaa2a7
[13/22] treewide: Drop function_nocfi
https://git.kernel.org/kees/c/607289a7cd7a
[14/22] treewide: Drop WARN_ON_FUNCTION_MISMATCH
https://git.kernel.org/kees/c/4b24356312fb
[15/22] treewide: Drop __cficanonical
https://git.kernel.org/kees/c/5659b598b4dc
[16/22] objtool: Preserve special st_shndx indexes in elf_update_symbol
https://git.kernel.org/kees/c/5141d3a06b2d
[17/22] objtool: Disable CFI warnings
https://git.kernel.org/kees/c/3c68a92d17ad
[18/22] kallsyms: Drop CONFIG_CFI_CLANG workarounds
https://git.kernel.org/kees/c/dfb352ab1162
[19/22] x86/tools/relocs: Ignore __kcfi_typeid_ relocations
https://git.kernel.org/kees/c/ca7e10bff196
[20/22] x86: Add types to indirectly called assembly functions
https://git.kernel.org/kees/c/ccace936eec7
[21/22] x86/purgatory: Disable CFI
https://git.kernel.org/kees/c/a4b7a12c5594
[22/22] x86: Add support for CONFIG_CFI_CLANG
https://git.kernel.org/kees/c/3c516f89e17e
--
Kees Cook_______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel