diff options
Diffstat (limited to 'lib/Kconfig.debug')
| -rw-r--r-- | lib/Kconfig.debug | 163 | 
1 files changed, 134 insertions, 29 deletions
| diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index 35796c290ca3..df9587aa5c5e 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -545,6 +545,17 @@ config FRAME_POINTER  config OBJTOOL  	bool +config OBJTOOL_WERROR +	bool "Upgrade objtool warnings to errors" +	depends on OBJTOOL && !COMPILE_TEST +	help +	  Fail the build on objtool warnings. + +	  Objtool warnings can indicate kernel instability, including boot +	  failures.  This option is highly recommended. + +	  If unsure, say Y. +  config STACK_VALIDATION  	bool "Compile-time stack metadata validation"  	depends on HAVE_STACK_VALIDATION && UNWINDER_FRAME_POINTER @@ -808,6 +819,15 @@ config ARCH_HAS_DEBUG_VM_PGTABLE  	  An architecture should select this when it can successfully  	  build and run DEBUG_VM_PGTABLE. +config DEBUG_VFS +	bool "Debug VFS" +	depends on DEBUG_KERNEL +	help +	  Enable this to turn on extended checks in the VFS layer that may impact +	  performance. + +	  If unsure, say N. +  config DEBUG_VM_IRQSOFF  	def_bool DEBUG_VM && !PREEMPT_RT @@ -1260,6 +1280,17 @@ config BOOTPARAM_HUNG_TASK_PANIC  	  Say N if unsure. +config DETECT_HUNG_TASK_BLOCKER +	bool "Dump Hung Tasks Blocker" +	depends on DETECT_HUNG_TASK +	depends on !PREEMPT_RT +	default y +	help +	  Say Y here to show the blocker task's stacktrace who acquires +	  the mutex lock which "hung tasks" are waiting. +	  This will add overhead a bit but shows suspicious tasks and +	  call trace if it comes from waiting a mutex. +  config WQ_WATCHDOG  	bool "Detect Workqueue Stalls"  	depends on DEBUG_KERNEL @@ -1301,15 +1332,6 @@ endmenu # "Debug lockups and hangs"  menu "Scheduler Debugging" -config SCHED_DEBUG -	bool "Collect scheduler debugging info" -	depends on DEBUG_KERNEL && DEBUG_FS -	default y -	help -	  If you say Y here, the /sys/kernel/debug/sched file will be provided -	  that can help debug the scheduler. The runtime overhead of this -	  option is minimal. -  config SCHED_INFO  	bool  	default n @@ -2427,6 +2449,24 @@ config ASYNC_RAID6_TEST  config TEST_HEXDUMP  	tristate "Test functions located in the hexdump module at runtime" +config PRINTF_KUNIT_TEST +	tristate "KUnit test printf() family of functions at runtime" if !KUNIT_ALL_TESTS +	depends on KUNIT +	default KUNIT_ALL_TESTS +	help +	  Enable this option to test the printf functions at runtime. + +	  If unsure, say N. + +config SCANF_KUNIT_TEST +	tristate "KUnit test scanf() family of functions at runtime" if !KUNIT_ALL_TESTS +	depends on KUNIT +	default KUNIT_ALL_TESTS +	help +	  Enable this option to test the scanf functions at runtime. + +	  If unsure, say N. +  config STRING_KUNIT_TEST  	tristate "KUnit test string functions at runtime" if !KUNIT_ALL_TESTS  	depends on KUNIT @@ -2440,12 +2480,6 @@ config STRING_HELPERS_KUNIT_TEST  config TEST_KSTRTOX  	tristate "Test kstrto*() family of functions at runtime" -config TEST_PRINTF -	tristate "Test printf() family of functions at runtime" - -config TEST_SCANF -	tristate "Test scanf() family of functions at runtime" -  config TEST_BITMAP  	tristate "Test bitmap_*() family of functions at runtime"  	help @@ -2479,13 +2513,20 @@ config TEST_IDA  	tristate "Perform selftest on IDA functions"  config TEST_MISC_MINOR -	tristate "Basic misc minor Kunit test" if !KUNIT_ALL_TESTS +	tristate "miscdevice KUnit test" if !KUNIT_ALL_TESTS  	depends on KUNIT  	default KUNIT_ALL_TESTS  	help -	  Kunit test for the misc minor. -	  It tests misc minor functions for dynamic and misc dynamic minor. -	  This include misc_xxx functions +	  Kunit test for miscdevice API, specially its behavior in respect to +	  static and dynamic minor numbers. + +	  KUnit tests run during boot and output the results to the debug log +	  in TAP format (https://testanything.org/). Only useful for kernel devs +	  running the KUnit test harness, and not intended for inclusion into a +	  production build. + +	  For more information on KUnit and unit tests in general please refer +	  to the KUnit documentation in Documentation/dev-tools/kunit/.  	  If unsure, say N. @@ -2557,15 +2598,6 @@ config TEST_BPF  	  If unsure, say N. -config TEST_BLACKHOLE_DEV -	tristate "Test blackhole netdev functionality" -	depends on m && NET -	help -	  This builds the "test_blackhole_dev" module that validates the -	  data path through this blackhole netdev. - -	  If unsure, say N. -  config FIND_BIT_BENCHMARK  	tristate "Test find_bit functions"  	help @@ -2691,6 +2723,20 @@ config SYSCTL_KUNIT_TEST  	  If unsure, say N. +config KFIFO_KUNIT_TEST +	tristate "KUnit Test for the generic kernel FIFO implementation" if !KUNIT_ALL_TESTS +	depends on KUNIT +	default KUNIT_ALL_TESTS +	help +	  This builds the generic FIFO implementation KUnit test suite. +	  It tests that the API and basic functionality of the kfifo type +	  and associated macros. + +	  For more information on KUnit and unit tests in general please refer +	  to the KUnit documentation in Documentation/dev-tools/kunit/. + +	  If unsure, say N. +  config LIST_KUNIT_TEST  	tristate "KUnit Test for Kernel Linked-list structures" if !KUNIT_ALL_TESTS  	depends on KUNIT @@ -2838,6 +2884,15 @@ config FORTIFY_KUNIT_TEST  	  by the str*() and mem*() family of functions. For testing runtime  	  traps of FORTIFY_SOURCE, see LKDTM's "FORTIFY_*" tests. +config LONGEST_SYM_KUNIT_TEST +	tristate "Test the longest symbol possible" if !KUNIT_ALL_TESTS +	depends on KUNIT && KPROBES +	default KUNIT_ALL_TESTS +	help +	  Tests the longest symbol possible + +	  If unsure, say N. +  config HW_BREAKPOINT_KUNIT_TEST  	bool "Test hw_breakpoint constraints accounting" if !KUNIT_ALL_TESTS  	depends on HAVE_HW_BREAKPOINT @@ -2852,6 +2907,7 @@ config CRC_KUNIT_TEST  	tristate "KUnit tests for CRC functions" if !KUNIT_ALL_TESTS  	depends on KUNIT  	default KUNIT_ALL_TESTS +	select CRC7  	select CRC16  	select CRC_T10DIF  	select CRC32 @@ -2888,6 +2944,17 @@ config USERCOPY_KUNIT_TEST  	  on the copy_to/from_user infrastructure, making sure basic  	  user/kernel boundary testing is working. +config BLACKHOLE_DEV_KUNIT_TEST +	tristate "Test blackhole netdev functionality" if !KUNIT_ALL_TESTS +	depends on NET +	depends on KUNIT +	default KUNIT_ALL_TESTS +	help +	  This builds the "blackhole_dev_kunit" module that validates the +	  data path through this blackhole netdev. + +	  If unsure, say N. +  config TEST_UDELAY  	tristate "udelay test driver"  	help @@ -3166,7 +3233,7 @@ config TEST_OBJPOOL  	  If unsure, say N. -config INT_POW_TEST +config INT_POW_KUNIT_TEST  	tristate "Integer exponentiation (int_pow) test" if !KUNIT_ALL_TESTS  	depends on KUNIT  	default KUNIT_ALL_TESTS @@ -3197,6 +3264,44 @@ config INT_SQRT_KUNIT_TEST  	  If unsure, say N +config INT_LOG_KUNIT_TEST +        tristate "Integer log (int_log) test" if !KUNIT_ALL_TESTS +        depends on KUNIT +        default KUNIT_ALL_TESTS +        help +          This option enables the KUnit test suite for the int_log library, which +          provides two functions to compute the integer logarithm in base 2 and +          base 10, called respectively as intlog2 and intlog10. + +          If unsure, say N + +config GCD_KUNIT_TEST +	tristate "Greatest common divisor test" if !KUNIT_ALL_TESTS +	depends on KUNIT +	default KUNIT_ALL_TESTS +	help +	  This option enables the KUnit test suite for the gcd() function, +	  which computes the greatest common divisor of two numbers. + +	  This test suite verifies the correctness of gcd() across various +	  scenarios, including edge cases. + +	  If unsure, say N + +config PRIME_NUMBERS_KUNIT_TEST +	tristate "Prime number generator test" if !KUNIT_ALL_TESTS +	depends on KUNIT +	select PRIME_NUMBERS +	default KUNIT_ALL_TESTS +	help +	  This option enables the KUnit test suite for the {is,next}_prime_number +	  functions. + +	  Enabling this option will include tests that compare the prime number +	  generator functions against a brute force implementation. + +	  If unsure, say N +  endif # RUNTIME_TESTING_MENU  config ARCH_USE_MEMTEST | 
