brintos

brintos / linux-shallow public Read only

0
0
Text · 2.3 KiB · 0541d7b Raw
64 lines · plain
1# SPDX-License-Identifier: GPL-2.0-only2config HAVE_ARCH_KMSAN3	bool4 5config HAVE_KMSAN_COMPILER6	# Clang versions <14.0.0 also support -fsanitize=kernel-memory, but not7	# all the features necessary to build the kernel with KMSAN.8	depends on CC_IS_CLANG && CLANG_VERSION >= 1400009	def_bool $(cc-option,-fsanitize=kernel-memory -mllvm -msan-disable-checks=1)10 11config KMSAN12	bool "KMSAN: detector of uninitialized values use"13	depends on HAVE_ARCH_KMSAN && HAVE_KMSAN_COMPILER14	depends on DEBUG_KERNEL && !KASAN && !KCSAN15	depends on !PREEMPT_RT16	select STACKDEPOT17	select STACKDEPOT_ALWAYS_INIT18	help19	  KernelMemorySanitizer (KMSAN) is a dynamic detector of uses of20	  uninitialized values in the kernel. It is based on compiler21	  instrumentation provided by Clang and thus requires Clang to build.22 23	  An important note is that KMSAN is not intended for production use,24	  because it drastically increases kernel memory footprint and slows25	  the whole system down.26 27	  See <file:Documentation/dev-tools/kmsan.rst> for more details.28 29if KMSAN30 31config HAVE_KMSAN_PARAM_RETVAL32	# -fsanitize-memory-param-retval is supported only by Clang >= 14.33	depends on HAVE_KMSAN_COMPILER34	def_bool $(cc-option,-fsanitize=kernel-memory -fsanitize-memory-param-retval)35 36config KMSAN_CHECK_PARAM_RETVAL37	bool "Check for uninitialized values passed to and returned from functions"38	default y39	depends on HAVE_KMSAN_PARAM_RETVAL40	help41	  If the compiler supports -fsanitize-memory-param-retval, KMSAN will42	  eagerly check every function parameter passed by value and every43	  function return value.44 45	  Disabling KMSAN_CHECK_PARAM_RETVAL will result in tracking shadow for46	  function parameters and return values across function borders. This47	  is a more relaxed mode, but it generates more instrumentation code and48	  may potentially report errors in corner cases when non-instrumented49	  functions call instrumented ones.50 51config KMSAN_KUNIT_TEST52	tristate "KMSAN integration test suite" if !KUNIT_ALL_TESTS53	default KUNIT_ALL_TESTS54	depends on TRACEPOINTS && KUNIT55	help56	  Test suite for KMSAN, testing various error detection scenarios,57	  and checking that reports are correctly output to console.58 59	  Say Y here if you want the test to be built into the kernel and run60	  during boot; say M if you want the test to build as a module; say N61	  if you are unsure.62 63endif64