Merge tag 'mm-nonmm-stable-2022-05-26' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-microblaze.git] / lib / Kconfig.debug
index 8fa0810..b1e506f 100644 (file)
@@ -485,24 +485,25 @@ config FRAME_POINTER
          larger and slower, but it gives very useful debugging information
          in case of kernel bugs. (precise oopses/stacktraces/warnings)
 
+config OBJTOOL
+       bool
+
 config STACK_VALIDATION
        bool "Compile-time stack metadata validation"
-       depends on HAVE_STACK_VALIDATION
+       depends on HAVE_STACK_VALIDATION && UNWINDER_FRAME_POINTER
+       select OBJTOOL
        default n
        help
-         Add compile-time checks to validate stack metadata, including frame
-         pointers (if CONFIG_FRAME_POINTER is enabled).  This helps ensure
-         that runtime stack traces are more reliable.
-
-         This is also a prerequisite for generation of ORC unwind data, which
-         is needed for CONFIG_UNWINDER_ORC.
+         Validate frame pointer rules at compile-time.  This helps ensure that
+         runtime stack traces are more reliable.
 
          For more information, see
          tools/objtool/Documentation/stack-validation.txt.
 
-config VMLINUX_VALIDATION
+config NOINSTR_VALIDATION
        bool
-       depends on STACK_VALIDATION && DEBUG_ENTRY
+       depends on HAVE_NOINSTR_VALIDATION && DEBUG_ENTRY
+       select OBJTOOL
        default y
 
 config VMLINUX_MAP
@@ -709,6 +710,7 @@ config DEBUG_SLAB
 config SLUB_DEBUG_ON
        bool "SLUB debugging on by default"
        depends on SLUB && SLUB_DEBUG
+       select STACKDEPOT_ALWAYS_INIT if STACKTRACE_SUPPORT
        default n
        help
          Boot with debugging on by default. SLUB boots by default with
@@ -1595,8 +1597,7 @@ config WARN_ALL_UNSEEDED_RANDOM
          so architecture maintainers really need to do what they can
          to get the CRNG seeded sooner after the system is booted.
          However, since users cannot do anything actionable to
-         address this, by default the kernel will issue only a single
-         warning for the first use of unseeded randomness.
+         address this, by default this option is disabled.
 
          Say Y here if you want to receive warnings for all uses of
          unseeded randomness.  This will be of use primarily for
@@ -2014,10 +2015,11 @@ config KCOV
        bool "Code coverage for fuzzing"
        depends on ARCH_HAS_KCOV
        depends on CC_HAS_SANCOV_TRACE_PC || GCC_PLUGINS
-       depends on !ARCH_WANTS_NO_INSTR || STACK_VALIDATION || \
+       depends on !ARCH_WANTS_NO_INSTR || HAVE_NOINSTR_HACK || \
                   GCC_VERSION >= 120000 || CLANG_VERSION >= 130000
        select DEBUG_FS
        select GCC_PLUGIN_SANCOV if !CC_HAS_SANCOV_TRACE_PC
+       select OBJTOOL if HAVE_NOINSTR_HACK
        help
          KCOV exposes kernel code coverage information in a form suitable
          for coverage-guided fuzzing (randomized testing).
@@ -2119,10 +2121,11 @@ config TEST_DIV64
          If unsure, say N.
 
 config KPROBES_SANITY_TEST
-       tristate "Kprobes sanity tests"
+       tristate "Kprobes sanity tests" if !KUNIT_ALL_TESTS
        depends on DEBUG_KERNEL
        depends on KPROBES
        depends on KUNIT
+       default KUNIT_ALL_TESTS
        help
          This option provides for testing basic kprobes functionality on
          boot. Samples of kprobe and kretprobe are inserted and
@@ -2396,8 +2399,9 @@ config TEST_SYSCTL
          If unsure, say N.
 
 config BITFIELD_KUNIT
-       tristate "KUnit test bitfield functions at runtime"
+       tristate "KUnit test bitfield functions at runtime" if !KUNIT_ALL_TESTS
        depends on KUNIT
+       default KUNIT_ALL_TESTS
        help
          Enable this option to test the bitfield functions at boot.
 
@@ -2431,8 +2435,9 @@ config HASH_KUNIT_TEST
          optimized versions. If unsure, say N.
 
 config RESOURCE_KUNIT_TEST
-       tristate "KUnit test for resource API"
+       tristate "KUnit test for resource API" if !KUNIT_ALL_TESTS
        depends on KUNIT
+       default KUNIT_ALL_TESTS
        help
          This builds the resource API unit test.
          Tests the logic of API provided by resource.c and ioport.h.
@@ -2485,8 +2490,9 @@ config LINEAR_RANGES_TEST
          If unsure, say N.
 
 config CMDLINE_KUNIT_TEST
-       tristate "KUnit test for cmdline API"
+       tristate "KUnit test for cmdline API" if !KUNIT_ALL_TESTS
        depends on KUNIT
+       default KUNIT_ALL_TESTS
        help
          This builds the cmdline API unit test.
          Tests the logic of API provided by cmdline.c.
@@ -2496,8 +2502,9 @@ config CMDLINE_KUNIT_TEST
          If unsure, say N.
 
 config BITS_TEST
-       tristate "KUnit test for bits.h"
+       tristate "KUnit test for bits.h" if !KUNIT_ALL_TESTS
        depends on KUNIT
+       default KUNIT_ALL_TESTS
        help
          This builds the bits unit test.
          Tests the logic of macros defined in bits.h.