Merge tag 'driver-core-4.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git...
[muen/linux.git] / lib / Kconfig.debug
index 57fb43f521c3007eb06408ed532fe7c37f493ac4..8ffd891857aba74eb4c309c692e6ae7034bd4a7b 100644 (file)
@@ -375,7 +375,7 @@ config STACK_VALIDATION
          that runtime stack traces are more reliable.
 
          This is also a prerequisite for generation of ORC unwind data, which
-         is needed for CONFIG_ORC_UNWINDER.
+         is needed for CONFIG_UNWINDER_ORC.
 
          For more information, see
          tools/objtool/Documentation/stack-validation.txt.
@@ -503,7 +503,7 @@ config DEBUG_OBJECTS_ENABLE_DEFAULT
 
 config DEBUG_SLAB
        bool "Debug slab memory allocations"
-       depends on DEBUG_KERNEL && SLAB && !KMEMCHECK
+       depends on DEBUG_KERNEL && SLAB
        help
          Say Y here to have the kernel do limited verification on memory
          allocation as well as poisoning memory on free to catch use of freed
@@ -515,7 +515,7 @@ config DEBUG_SLAB_LEAK
 
 config SLUB_DEBUG_ON
        bool "SLUB debugging on by default"
-       depends on SLUB && SLUB_DEBUG && !KMEMCHECK
+       depends on SLUB && SLUB_DEBUG
        default n
        help
          Boot with debugging on by default. SLUB boots by default with
@@ -729,8 +729,6 @@ config DEBUG_STACKOVERFLOW
 
          If in doubt, say "N".
 
-source "lib/Kconfig.kmemcheck"
-
 source "lib/Kconfig.kasan"
 
 endmenu # "Memory Debugging"
@@ -1091,8 +1089,8 @@ config PROVE_LOCKING
        select DEBUG_MUTEXES
        select DEBUG_RT_MUTEXES if RT_MUTEXES
        select DEBUG_LOCK_ALLOC
-       select LOCKDEP_CROSSRELEASE if BROKEN
-       select LOCKDEP_COMPLETIONS if BROKEN
+       select LOCKDEP_CROSSRELEASE
+       select LOCKDEP_COMPLETIONS
        select TRACE_IRQFLAGS
        default n
        help
@@ -1178,6 +1176,21 @@ config LOCKDEP_COMPLETIONS
         A deadlock caused by wait_for_completion() and complete() can be
         detected by lockdep using crossrelease feature.
 
+config BOOTPARAM_LOCKDEP_CROSSRELEASE_FULLSTACK
+       bool "Enable the boot parameter, crossrelease_fullstack"
+       depends on LOCKDEP_CROSSRELEASE
+       default n
+       help
+        The lockdep "cross-release" feature needs to record stack traces
+        (of calling functions) for all acquisitions, for eventual later
+        use during analysis. By default only a single caller is recorded,
+        because the unwind operation can be very expensive with deeper
+        stack chains.
+
+        However a boot parameter, crossrelease_fullstack, was
+        introduced since sometimes deeper traces are required for full
+        analysis. This option turns on the boot parameter.
+
 config DEBUG_LOCKDEP
        bool "Lock dependency engine debugging"
        depends on DEBUG_KERNEL && LOCKDEP