KMSAN: Remove tautological checks

Now that the minimum supported version of LLVM for building the kernel
has been bumped to 15.0.0, two KMSAN checks can be cleaned up.

CONFIG_HAVE_KMSAN_COMPILER will always be true when using clang so
remove the cc-option test and use a simple check for CONFIG_CC_IS_CLANG.

CONFIG_HAVE_KMSAN_PARAM_RETVAL will always be true so it can be removed
outright.

Acked-by: Marco Elver <elver@google.com>
Reviewed-by: Kees Cook <kees@kernel.org>
Link: https://lore.kernel.org/r/20250821-bump-min-llvm-ver-15-v2-12-635f3294e5f0@kernel.org
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
This commit is contained in:
Nathan Chancellor
2025-08-21 14:15:49 -07:00
parent 573ad421cc
commit 5ff8c11775

View File

@@ -3,10 +3,7 @@ config HAVE_ARCH_KMSAN
bool bool
config HAVE_KMSAN_COMPILER config HAVE_KMSAN_COMPILER
# Clang versions <14.0.0 also support -fsanitize=kernel-memory, but not def_bool CC_IS_CLANG
# all the features necessary to build the kernel with KMSAN.
depends on CC_IS_CLANG && CLANG_VERSION >= 140000
def_bool $(cc-option,-fsanitize=kernel-memory -mllvm -msan-disable-checks=1)
config KMSAN config KMSAN
bool "KMSAN: detector of uninitialized values use" bool "KMSAN: detector of uninitialized values use"
@@ -28,15 +25,9 @@ config KMSAN
if KMSAN if KMSAN
config HAVE_KMSAN_PARAM_RETVAL
# -fsanitize-memory-param-retval is supported only by Clang >= 14.
depends on HAVE_KMSAN_COMPILER
def_bool $(cc-option,-fsanitize=kernel-memory -fsanitize-memory-param-retval)
config KMSAN_CHECK_PARAM_RETVAL config KMSAN_CHECK_PARAM_RETVAL
bool "Check for uninitialized values passed to and returned from functions" bool "Check for uninitialized values passed to and returned from functions"
default y default y
depends on HAVE_KMSAN_PARAM_RETVAL
help help
If the compiler supports -fsanitize-memory-param-retval, KMSAN will If the compiler supports -fsanitize-memory-param-retval, KMSAN will
eagerly check every function parameter passed by value and every eagerly check every function parameter passed by value and every