8208257d2d
Previously, I failed to realize that Kees' patch [1] has not been merged into the mainline yet, and dropped DEBUG_INFO=y too eagerly from the mainline. As the results, "make debug.config" won't be able to flip DEBUG_INFO=n from the existing .config. This should close the gaps of a few weeks before Kees' patch is there, and work regardless of their merging status anyway. Link: https://lore.kernel.org/all/20220125075126.891825-1-keescook@chromium.org/ [1] Link: https://lkml.kernel.org/r/20220308153524.8618-1-quic_qiancai@quicinc.com Signed-off-by: Qian Cai <quic_qiancai@quicinc.com> Reported-by: Daniel Thompson <daniel.thompson@linaro.org> Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org> Cc: Kees Cook <keescook@chromium.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
107 lines
2.5 KiB
Plaintext
107 lines
2.5 KiB
Plaintext
# 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
|