]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
KMSAN: Restore dynamic check for '-fsanitize=kernel-memory'
authorNathan Chancellor <nathan@kernel.org>
Thu, 23 Oct 2025 19:01:29 +0000 (21:01 +0200)
committerNathan Chancellor <nathan@kernel.org>
Mon, 27 Oct 2025 23:22:02 +0000 (16:22 -0700)
Commit 5ff8c11775c7 ("KMSAN: Remove tautological checks") changed
CONFIG_HAVE_KMSAN_COMPILER from a dynamic check for
'-fsanitize=kernel-memory' to just being true for CONFIG_CC_IS_CLANG.
This missed the fact that not all architectures supported
'-fsanitize=kernel-memory' at the same time. For example, SystemZ / s390
gained support for KMSAN in clang-18 [1], so builds with clang-15
through clang-17 can select KMSAN but they error with:

  clang-16: error: unsupported option '-fsanitize=kernel-memory' for target 's390x-unknown-linux-gnu'

Restore the cc-option check for '-fsanitize=kernel-memory' to make sure
the compiler target properly supports '-fsanitize=kernel-memory'. The
check for '-msan-disable-checks=1' does not need to be restored because
all supported clang versions for building the kernel support it.

Fixes: 5ff8c11775c7 ("KMSAN: Remove tautological checks")
Link: https://github.com/llvm/llvm-project/commit/a3e56a8792ffaf3a3d3538736e1042b8db45ab89
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/r/202510220236.AVuXXCYy-lkp@intel.com/
Acked-by: Nicolas Schier <nsc@kernel.org>
Link: https://patch.msgid.link/20251023-fix-kmsan-check-s390-clang-v1-1-4e6df477a4cc@kernel.org
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
lib/Kconfig.kmsan

index 7251b6b59e6931cad6be0e32dc638a7070bb1587..cae1ddcc18e152aff0574f2a19290f63c834199a 100644 (file)
@@ -3,7 +3,7 @@ config HAVE_ARCH_KMSAN
        bool
 
 config HAVE_KMSAN_COMPILER
-       def_bool CC_IS_CLANG
+       def_bool $(cc-option,-fsanitize=kernel-memory)
 
 config KMSAN
        bool "KMSAN: detector of uninitialized values use"