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