feec5e1f74
Currently the Kconfig fragments in kernel/configs and arch/*/configs that aren't used internally aren't discoverable through "make help", which consists of hard-coded lists of config fragments. Instead, list all the fragment targets that have a "# Help: " comment prefix so the targets can be generated dynamically. Add logic to the Makefile to search for and display the fragment and comment. Add comments to fragments that are intended to be direct targets. Signed-off-by: Kees Cook <keescook@chromium.org> Co-developed-by: Masahiro Yamada <masahiroy@kernel.org> Acked-by: Michael Ellerman <mpe@ellerman.id.au> (powerpc) Reviewed-by: Nicolas Schier <nicolas@fjasle.eu> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
109 lines
2.6 KiB
Plaintext
109 lines
2.6 KiB
Plaintext
# Help: Debugging for CI systems and finding regressions
|
|
#
|
|
# The config is based on running daily CI for enterprise Linux distros to
|
|
# seek regressions on linux-next builds on different bare-metal and virtual
|
|
# platforms. It can be used for example,
|
|
#
|
|
# $ make ARCH=arm64 defconfig debug.config
|
|
#
|
|
# Keep alphabetically sorted inside each section.
|
|
#
|
|
# printk and dmesg options
|
|
#
|
|
CONFIG_DEBUG_BUGVERBOSE=y
|
|
CONFIG_DYNAMIC_DEBUG=y
|
|
CONFIG_PRINTK_CALLER=y
|
|
CONFIG_PRINTK_TIME=y
|
|
CONFIG_SYMBOLIC_ERRNAME=y
|
|
#
|
|
# Compile-time checks and compiler options
|
|
#
|
|
CONFIG_DEBUG_INFO=y
|
|
CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
|
|
CONFIG_DEBUG_SECTION_MISMATCH=y
|
|
CONFIG_FRAME_WARN=2048
|
|
CONFIG_SECTION_MISMATCH_WARN_ONLY=y
|
|
#
|
|
# Generic Kernel Debugging Instruments
|
|
#
|
|
# CONFIG_UBSAN_ALIGNMENT is not set
|
|
# CONFIG_UBSAN_DIV_ZERO is not set
|
|
# CONFIG_UBSAN_TRAP is not set
|
|
# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
|
|
CONFIG_DEBUG_FS=y
|
|
CONFIG_DEBUG_FS_ALLOW_ALL=y
|
|
CONFIG_DEBUG_IRQFLAGS=y
|
|
CONFIG_UBSAN=y
|
|
CONFIG_UBSAN_BOOL=y
|
|
CONFIG_UBSAN_BOUNDS=y
|
|
CONFIG_UBSAN_ENUM=y
|
|
CONFIG_UBSAN_SHIFT=y
|
|
CONFIG_UBSAN_UNREACHABLE=y
|
|
#
|
|
# Memory Debugging
|
|
#
|
|
# CONFIG_DEBUG_PAGEALLOC is not set
|
|
# CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF is not set
|
|
# CONFIG_DEBUG_RODATA_TEST is not set
|
|
# CONFIG_DEBUG_WX is not set
|
|
# CONFIG_KFENCE is not set
|
|
# CONFIG_PAGE_POISONING is not set
|
|
# CONFIG_SLUB_STATS is not set
|
|
CONFIG_PAGE_EXTENSION=y
|
|
CONFIG_PAGE_OWNER=y
|
|
CONFIG_DEBUG_KMEMLEAK=y
|
|
CONFIG_DEBUG_KMEMLEAK_AUTO_SCAN=y
|
|
CONFIG_DEBUG_OBJECTS=y
|
|
CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
|
|
CONFIG_DEBUG_OBJECTS_FREE=y
|
|
CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y
|
|
CONFIG_DEBUG_OBJECTS_RCU_HEAD=y
|
|
CONFIG_DEBUG_OBJECTS_TIMERS=y
|
|
CONFIG_DEBUG_OBJECTS_WORK=y
|
|
CONFIG_DEBUG_PER_CPU_MAPS=y
|
|
CONFIG_DEBUG_STACK_USAGE=y
|
|
CONFIG_DEBUG_VIRTUAL=y
|
|
CONFIG_DEBUG_VM=y
|
|
CONFIG_DEBUG_VM_PGFLAGS=y
|
|
CONFIG_DEBUG_VM_RB=y
|
|
CONFIG_DEBUG_VM_VMACACHE=y
|
|
CONFIG_GENERIC_PTDUMP=y
|
|
CONFIG_KASAN=y
|
|
CONFIG_KASAN_GENERIC=y
|
|
CONFIG_KASAN_INLINE=y
|
|
CONFIG_KASAN_VMALLOC=y
|
|
CONFIG_PTDUMP_DEBUGFS=y
|
|
CONFIG_SCHED_STACK_END_CHECK=y
|
|
CONFIG_SLUB_DEBUG_ON=y
|
|
#
|
|
# Debug Oops, Lockups and Hangs
|
|
#
|
|
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
|
|
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
|
|
CONFIG_DEBUG_ATOMIC_SLEEP=y
|
|
CONFIG_DETECT_HUNG_TASK=y
|
|
CONFIG_PANIC_ON_OOPS=y
|
|
CONFIG_PANIC_TIMEOUT=0
|
|
CONFIG_SOFTLOCKUP_DETECTOR=y
|
|
#
|
|
# Lock Debugging (spinlocks, mutexes, etc...)
|
|
#
|
|
# CONFIG_PROVE_RAW_LOCK_NESTING is not set
|
|
CONFIG_PROVE_LOCKING=y
|
|
#
|
|
# Debug kernel data structures
|
|
#
|
|
CONFIG_BUG_ON_DATA_CORRUPTION=y
|
|
#
|
|
# RCU Debugging
|
|
#
|
|
CONFIG_PROVE_RCU=y
|
|
CONFIG_PROVE_RCU_LIST=y
|
|
#
|
|
# Tracers
|
|
#
|
|
CONFIG_BRANCH_PROFILE_NONE=y
|
|
CONFIG_DYNAMIC_FTRACE=y
|
|
CONFIG_FTRACE=y
|
|
CONFIG_FUNCTION_TRACER=y
|