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# Networking Debugging 44# 45CONFIG_NET_DEV_REFCNT_TRACKER=y 46CONFIG_NET_NS_REFCNT_TRACKER=y 47CONFIG_DEBUG_NET=y 48# 49# Memory Debugging 50# 51# CONFIG_DEBUG_PAGEALLOC is not set 52# CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF is not set 53# CONFIG_DEBUG_RODATA_TEST is not set 54# CONFIG_DEBUG_WX is not set 55# CONFIG_KFENCE is not set 56# CONFIG_PAGE_POISONING is not set 57# CONFIG_SLUB_STATS is not set 58CONFIG_PAGE_EXTENSION=y 59CONFIG_PAGE_OWNER=y 60CONFIG_DEBUG_KMEMLEAK=y 61CONFIG_DEBUG_KMEMLEAK_AUTO_SCAN=y 62CONFIG_DEBUG_OBJECTS=y 63CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1 64CONFIG_DEBUG_OBJECTS_FREE=y 65CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y 66CONFIG_DEBUG_OBJECTS_RCU_HEAD=y 67CONFIG_DEBUG_OBJECTS_TIMERS=y 68CONFIG_DEBUG_OBJECTS_WORK=y 69CONFIG_DEBUG_PER_CPU_MAPS=y 70CONFIG_DEBUG_STACK_USAGE=y 71CONFIG_DEBUG_VIRTUAL=y 72CONFIG_DEBUG_VM=y 73CONFIG_DEBUG_VM_PGFLAGS=y 74CONFIG_DEBUG_VM_RB=y 75CONFIG_DEBUG_VM_VMACACHE=y 76CONFIG_GENERIC_PTDUMP=y 77CONFIG_KASAN=y 78CONFIG_KASAN_GENERIC=y 79CONFIG_KASAN_INLINE=y 80CONFIG_KASAN_VMALLOC=y 81CONFIG_PTDUMP_DEBUGFS=y 82CONFIG_SCHED_STACK_END_CHECK=y 83CONFIG_SLUB_DEBUG_ON=y 84# 85# Debug Oops, Lockups and Hangs 86# 87# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set 88# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 89CONFIG_DEBUG_ATOMIC_SLEEP=y 90CONFIG_DETECT_HUNG_TASK=y 91CONFIG_PANIC_ON_OOPS=y 92CONFIG_PANIC_TIMEOUT=0 93CONFIG_SOFTLOCKUP_DETECTOR=y 94# 95# Lock Debugging (spinlocks, mutexes, etc...) 96# 97# CONFIG_PROVE_RAW_LOCK_NESTING is not set 98CONFIG_PROVE_LOCKING=y 99# 100# Debug kernel data structures 101# 102CONFIG_BUG_ON_DATA_CORRUPTION=y 103# 104# RCU Debugging 105# 106CONFIG_RCU_EXPERT=y 107CONFIG_PROVE_RCU=y 108CONFIG_PROVE_RCU_LIST=y 109# 110# Tracers 111# 112CONFIG_BRANCH_PROFILE_NONE=y 113CONFIG_DYNAMIC_FTRACE=y 114CONFIG_FTRACE=y 115CONFIG_FUNCTION_TRACER=y 116