# 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=yCONFIG_DYNAMIC_DEBUG=yCONFIG_PRINTK_CALLER=yCONFIG_PRINTK_TIME=yCONFIG_SYMBOLIC_ERRNAME=y## Compile-time checks and compiler options#CONFIG_DEBUG_INFO=yCONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=yCONFIG_DEBUG_SECTION_MISMATCH=yCONFIG_FRAME_WARN=2048CONFIG_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 setCONFIG_DEBUG_FS=yCONFIG_DEBUG_FS_ALLOW_ALL=yCONFIG_DEBUG_IRQFLAGS=yCONFIG_UBSAN=yCONFIG_UBSAN_BOOL=yCONFIG_UBSAN_BOUNDS=yCONFIG_UBSAN_ENUM=yCONFIG_UBSAN_SHIFT=yCONFIG_UBSAN_UNREACHABLE=y## Networking Debugging#CONFIG_NET_DEV_REFCNT_TRACKER=yCONFIG_NET_NS_REFCNT_TRACKER=yCONFIG_DEBUG_NET=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 setCONFIG_PAGE_EXTENSION=yCONFIG_PAGE_OWNER=yCONFIG_DEBUG_KMEMLEAK=yCONFIG_DEBUG_KMEMLEAK_AUTO_SCAN=yCONFIG_DEBUG_OBJECTS=yCONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1CONFIG_DEBUG_OBJECTS_FREE=yCONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=yCONFIG_DEBUG_OBJECTS_RCU_HEAD=yCONFIG_DEBUG_OBJECTS_TIMERS=yCONFIG_DEBUG_OBJECTS_WORK=yCONFIG_DEBUG_PER_CPU_MAPS=yCONFIG_DEBUG_STACK_USAGE=yCONFIG_DEBUG_VIRTUAL=yCONFIG_DEBUG_VM=yCONFIG_DEBUG_VM_PGFLAGS=yCONFIG_DEBUG_VM_RB=yCONFIG_DEBUG_VM_VMACACHE=yCONFIG_KASAN=yCONFIG_KASAN_GENERIC=yCONFIG_KASAN_INLINE=yCONFIG_KASAN_VMALLOC=yCONFIG_PTDUMP_DEBUGFS=yCONFIG_SCHED_STACK_END_CHECK=yCONFIG_SLUB_DEBUG_ON=y## Debug Oops, Lockups and Hangs## CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not setCONFIG_DEBUG_ATOMIC_SLEEP=yCONFIG_DETECT_HUNG_TASK=yCONFIG_PANIC_ON_OOPS=yCONFIG_PANIC_TIMEOUT=0CONFIG_SOFTLOCKUP_DETECTOR=y## Lock Debugging (spinlocks, mutexes, etc...)## CONFIG_PROVE_RAW_LOCK_NESTING is not setCONFIG_PROVE_LOCKING=y## Debug kernel data structures#CONFIG_BUG_ON_DATA_CORRUPTION=y## RCU Debugging#CONFIG_RCU_EXPERT=yCONFIG_PROVE_RCU=yCONFIG_PROVE_RCU_LIST=y## Tracers#CONFIG_BRANCH_PROFILE_NONE=yCONFIG_DYNAMIC_FTRACE=yCONFIG_FTRACE=yCONFIG_FUNCTION_TRACER=y
# 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
#
# Networking Debugging
#
CONFIG_NET_DEV_REFCNT_TRACKER=y
CONFIG_NET_NS_REFCNT_TRACKER=y
CONFIG_DEBUG_NET=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_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_RCU_EXPERT=y
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