]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
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)
commitcf20852500d2895d1db22b69d87281aca2e7b5d0
treea56dc4feb4bd7bafd4630a35c72fb338cd6d25f4
parentd50f21091358b2b29dc06c2061106cdb0f030d03
KMSAN: Restore dynamic check for '-fsanitize=kernel-memory'

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