1 # Help: Debugging for CI systems and finding regressions
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,
7 # $ make ARCH=arm64 defconfig debug.config
9 # Keep alphabetically sorted inside each section.
11 # printk and dmesg options
13 CONFIG_DEBUG_BUGVERBOSE=y
14 CONFIG_DYNAMIC_DEBUG=y
15 CONFIG_PRINTK_CALLER=y
17 CONFIG_SYMBOLIC_ERRNAME=y
19 # Compile-time checks and compiler options
22 CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
23 CONFIG_DEBUG_SECTION_MISMATCH=y
24 CONFIG_FRAME_WARN=2048
25 CONFIG_SECTION_MISMATCH_WARN_ONLY=y
27 # Generic Kernel Debugging Instruments
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
34 CONFIG_DEBUG_FS_ALLOW_ALL=y
35 CONFIG_DEBUG_IRQFLAGS=y
41 CONFIG_UBSAN_UNREACHABLE=y
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
52 CONFIG_PAGE_EXTENSION=y
54 CONFIG_DEBUG_KMEMLEAK=y
55 CONFIG_DEBUG_KMEMLEAK_AUTO_SCAN=y
56 CONFIG_DEBUG_OBJECTS=y
57 CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
58 CONFIG_DEBUG_OBJECTS_FREE=y
59 CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y
60 CONFIG_DEBUG_OBJECTS_RCU_HEAD=y
61 CONFIG_DEBUG_OBJECTS_TIMERS=y
62 CONFIG_DEBUG_OBJECTS_WORK=y
63 CONFIG_DEBUG_PER_CPU_MAPS=y
64 CONFIG_DEBUG_STACK_USAGE=y
65 CONFIG_DEBUG_VIRTUAL=y
67 CONFIG_DEBUG_VM_PGFLAGS=y
69 CONFIG_DEBUG_VM_VMACACHE=y
70 CONFIG_GENERIC_PTDUMP=y
72 CONFIG_KASAN_GENERIC=y
74 CONFIG_KASAN_VMALLOC=y
75 CONFIG_PTDUMP_DEBUGFS=y
76 CONFIG_SCHED_STACK_END_CHECK=y
77 CONFIG_SLUB_DEBUG_ON=y
79 # Debug Oops, Lockups and Hangs
81 # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
82 # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
83 CONFIG_DEBUG_ATOMIC_SLEEP=y
84 CONFIG_DETECT_HUNG_TASK=y
85 CONFIG_PANIC_ON_OOPS=y
86 CONFIG_PANIC_TIMEOUT=0
87 CONFIG_SOFTLOCKUP_DETECTOR=y
89 # Lock Debugging (spinlocks, mutexes, etc...)
91 # CONFIG_PROVE_RAW_LOCK_NESTING is not set
92 CONFIG_PROVE_LOCKING=y
94 # Debug kernel data structures
96 CONFIG_BUG_ON_DATA_CORRUPTION=y
101 CONFIG_PROVE_RCU_LIST=y
105 CONFIG_BRANCH_PROFILE_NONE=y
106 CONFIG_DYNAMIC_FTRACE=y
108 CONFIG_FUNCTION_TRACER=y