1# Help: Debugging for CI systems and finding regressions 2# 3# The config is based on running daily CI for enterprise Linux distros to 4# seek regressions on linux-next builds on different bare-metal and virtual 5# platforms. It can be used for example, 6# 7# $ make ARCH=arm64 defconfig debug.config 8# 9# Keep alphabetically sorted inside each section. 10# 11# printk and dmesg options 12# 13CONFIG_DEBUG_BUGVERBOSE=y 14CONFIG_DYNAMIC_DEBUG=y 15CONFIG_PRINTK_CALLER=y 16CONFIG_PRINTK_TIME=y 17CONFIG_SYMBOLIC_ERRNAME=y 18# 19# Compile-time checks and compiler options 20# 21CONFIG_DEBUG_INFO=y 22CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y 23CONFIG_DEBUG_SECTION_MISMATCH=y 24CONFIG_FRAME_WARN=2048 25CONFIG_SECTION_MISMATCH_WARN_ONLY=y 26# 27# Generic Kernel Debugging Instruments 28# 29# CONFIG_UBSAN_ALIGNMENT is not set 30# CONFIG_UBSAN_DIV_ZERO is not set 31# CONFIG_UBSAN_TRAP is not set 32# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set 33CONFIG_DEBUG_FS=y 34CONFIG_DEBUG_FS_ALLOW_ALL=y 35CONFIG_DEBUG_IRQFLAGS=y 36CONFIG_UBSAN=y 37CONFIG_UBSAN_BOOL=y 38CONFIG_UBSAN_BOUNDS=y 39CONFIG_UBSAN_ENUM=y 40CONFIG_UBSAN_SHIFT=y 41CONFIG_UBSAN_UNREACHABLE=y 42# 43# Memory Debugging 44# 45# CONFIG_DEBUG_PAGEALLOC is not set 46# CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF is not set 47# CONFIG_DEBUG_RODATA_TEST is not set 48# CONFIG_DEBUG_WX is not set 49# CONFIG_KFENCE is not set 50# CONFIG_PAGE_POISONING is not set 51# CONFIG_SLUB_STATS is not set 52CONFIG_PAGE_EXTENSION=y 53CONFIG_PAGE_OWNER=y 54CONFIG_DEBUG_KMEMLEAK=y 55CONFIG_DEBUG_KMEMLEAK_AUTO_SCAN=y 56CONFIG_DEBUG_OBJECTS=y 57CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1 58CONFIG_DEBUG_OBJECTS_FREE=y 59CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y 60CONFIG_DEBUG_OBJECTS_RCU_HEAD=y 61CONFIG_DEBUG_OBJECTS_TIMERS=y 62CONFIG_DEBUG_OBJECTS_WORK=y 63CONFIG_DEBUG_PER_CPU_MAPS=y 64CONFIG_DEBUG_STACK_USAGE=y 65CONFIG_DEBUG_VIRTUAL=y 66CONFIG_DEBUG_VM=y 67CONFIG_DEBUG_VM_PGFLAGS=y 68CONFIG_DEBUG_VM_RB=y 69CONFIG_DEBUG_VM_VMACACHE=y 70CONFIG_GENERIC_PTDUMP=y 71CONFIG_KASAN=y 72CONFIG_KASAN_GENERIC=y 73CONFIG_KASAN_INLINE=y 74CONFIG_KASAN_VMALLOC=y 75CONFIG_PTDUMP_DEBUGFS=y 76CONFIG_SCHED_STACK_END_CHECK=y 77CONFIG_SLUB_DEBUG_ON=y 78# 79# Debug Oops, Lockups and Hangs 80# 81# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set 82# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 83CONFIG_DEBUG_ATOMIC_SLEEP=y 84CONFIG_DETECT_HUNG_TASK=y 85CONFIG_PANIC_ON_OOPS=y 86CONFIG_PANIC_TIMEOUT=0 87CONFIG_SOFTLOCKUP_DETECTOR=y 88# 89# Lock Debugging (spinlocks, mutexes, etc...) 90# 91# CONFIG_PROVE_RAW_LOCK_NESTING is not set 92CONFIG_PROVE_LOCKING=y 93# 94# Debug kernel data structures 95# 96CONFIG_BUG_ON_DATA_CORRUPTION=y 97# 98# RCU Debugging 99# 100CONFIG_PROVE_RCU=y 101CONFIG_PROVE_RCU_LIST=y 102# 103# Tracers 104# 105CONFIG_BRANCH_PROFILE_NONE=y 106CONFIG_DYNAMIC_FTRACE=y 107CONFIG_FTRACE=y 108CONFIG_FUNCTION_TRACER=y 109