xref: /openbmc/linux/kernel/configs/debug.config (revision feec5e1f)
1*feec5e1fSKees Cook# Help: Debugging for CI systems and finding regressions
2*feec5e1fSKees Cook#
30aaa8977SQian Cai# The config is based on running daily CI for enterprise Linux distros to
40aaa8977SQian Cai# seek regressions on linux-next builds on different bare-metal and virtual
50aaa8977SQian Cai# platforms. It can be used for example,
60aaa8977SQian Cai#
70aaa8977SQian Cai# $ make ARCH=arm64 defconfig debug.config
80aaa8977SQian Cai#
90aaa8977SQian Cai# Keep alphabetically sorted inside each section.
100aaa8977SQian Cai#
110aaa8977SQian Cai# printk and dmesg options
120aaa8977SQian Cai#
130aaa8977SQian CaiCONFIG_DEBUG_BUGVERBOSE=y
140aaa8977SQian CaiCONFIG_DYNAMIC_DEBUG=y
150aaa8977SQian CaiCONFIG_PRINTK_CALLER=y
160aaa8977SQian CaiCONFIG_PRINTK_TIME=y
170aaa8977SQian CaiCONFIG_SYMBOLIC_ERRNAME=y
180aaa8977SQian Cai#
190aaa8977SQian Cai# Compile-time checks and compiler options
200aaa8977SQian Cai#
218208257dSQian CaiCONFIG_DEBUG_INFO=y
22d1eff16dSQian CaiCONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
230aaa8977SQian CaiCONFIG_DEBUG_SECTION_MISMATCH=y
240aaa8977SQian CaiCONFIG_FRAME_WARN=2048
250aaa8977SQian CaiCONFIG_SECTION_MISMATCH_WARN_ONLY=y
260aaa8977SQian Cai#
270aaa8977SQian Cai# Generic Kernel Debugging Instruments
280aaa8977SQian Cai#
290aaa8977SQian Cai# CONFIG_UBSAN_ALIGNMENT is not set
300aaa8977SQian Cai# CONFIG_UBSAN_DIV_ZERO is not set
310aaa8977SQian Cai# CONFIG_UBSAN_TRAP is not set
320aaa8977SQian Cai# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
330aaa8977SQian CaiCONFIG_DEBUG_FS=y
340aaa8977SQian CaiCONFIG_DEBUG_FS_ALLOW_ALL=y
350aaa8977SQian CaiCONFIG_DEBUG_IRQFLAGS=y
360aaa8977SQian CaiCONFIG_UBSAN=y
370aaa8977SQian CaiCONFIG_UBSAN_BOOL=y
380aaa8977SQian CaiCONFIG_UBSAN_BOUNDS=y
390aaa8977SQian CaiCONFIG_UBSAN_ENUM=y
400aaa8977SQian CaiCONFIG_UBSAN_SHIFT=y
410aaa8977SQian CaiCONFIG_UBSAN_UNREACHABLE=y
420aaa8977SQian Cai#
430aaa8977SQian Cai# Memory Debugging
440aaa8977SQian Cai#
450aaa8977SQian Cai# CONFIG_DEBUG_PAGEALLOC is not set
460aaa8977SQian Cai# CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF is not set
470aaa8977SQian Cai# CONFIG_DEBUG_RODATA_TEST is not set
480aaa8977SQian Cai# CONFIG_DEBUG_WX is not set
490aaa8977SQian Cai# CONFIG_KFENCE is not set
500aaa8977SQian Cai# CONFIG_PAGE_POISONING is not set
510aaa8977SQian Cai# CONFIG_SLUB_STATS is not set
520aaa8977SQian CaiCONFIG_PAGE_EXTENSION=y
530aaa8977SQian CaiCONFIG_PAGE_OWNER=y
540aaa8977SQian CaiCONFIG_DEBUG_KMEMLEAK=y
550aaa8977SQian CaiCONFIG_DEBUG_KMEMLEAK_AUTO_SCAN=y
560aaa8977SQian CaiCONFIG_DEBUG_OBJECTS=y
570aaa8977SQian CaiCONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
580aaa8977SQian CaiCONFIG_DEBUG_OBJECTS_FREE=y
590aaa8977SQian CaiCONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y
600aaa8977SQian CaiCONFIG_DEBUG_OBJECTS_RCU_HEAD=y
610aaa8977SQian CaiCONFIG_DEBUG_OBJECTS_TIMERS=y
620aaa8977SQian CaiCONFIG_DEBUG_OBJECTS_WORK=y
630aaa8977SQian CaiCONFIG_DEBUG_PER_CPU_MAPS=y
640aaa8977SQian CaiCONFIG_DEBUG_STACK_USAGE=y
650aaa8977SQian CaiCONFIG_DEBUG_VIRTUAL=y
660aaa8977SQian CaiCONFIG_DEBUG_VM=y
670aaa8977SQian CaiCONFIG_DEBUG_VM_PGFLAGS=y
680aaa8977SQian CaiCONFIG_DEBUG_VM_RB=y
690aaa8977SQian CaiCONFIG_DEBUG_VM_VMACACHE=y
700aaa8977SQian CaiCONFIG_GENERIC_PTDUMP=y
710aaa8977SQian CaiCONFIG_KASAN=y
720aaa8977SQian CaiCONFIG_KASAN_GENERIC=y
730aaa8977SQian CaiCONFIG_KASAN_INLINE=y
740aaa8977SQian CaiCONFIG_KASAN_VMALLOC=y
750aaa8977SQian CaiCONFIG_PTDUMP_DEBUGFS=y
760aaa8977SQian CaiCONFIG_SCHED_STACK_END_CHECK=y
770aaa8977SQian CaiCONFIG_SLUB_DEBUG_ON=y
780aaa8977SQian Cai#
790aaa8977SQian Cai# Debug Oops, Lockups and Hangs
800aaa8977SQian Cai#
810aaa8977SQian Cai# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
820aaa8977SQian Cai# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
830aaa8977SQian CaiCONFIG_DEBUG_ATOMIC_SLEEP=y
840aaa8977SQian CaiCONFIG_DETECT_HUNG_TASK=y
850aaa8977SQian CaiCONFIG_PANIC_ON_OOPS=y
860aaa8977SQian CaiCONFIG_PANIC_TIMEOUT=0
870aaa8977SQian CaiCONFIG_SOFTLOCKUP_DETECTOR=y
880aaa8977SQian Cai#
890aaa8977SQian Cai# Lock Debugging (spinlocks, mutexes, etc...)
900aaa8977SQian Cai#
910aaa8977SQian Cai# CONFIG_PROVE_RAW_LOCK_NESTING is not set
920aaa8977SQian CaiCONFIG_PROVE_LOCKING=y
930aaa8977SQian Cai#
940aaa8977SQian Cai# Debug kernel data structures
950aaa8977SQian Cai#
960aaa8977SQian CaiCONFIG_BUG_ON_DATA_CORRUPTION=y
970aaa8977SQian Cai#
980aaa8977SQian Cai# RCU Debugging
990aaa8977SQian Cai#
1000aaa8977SQian CaiCONFIG_PROVE_RCU=y
1010aaa8977SQian CaiCONFIG_PROVE_RCU_LIST=y
1020aaa8977SQian Cai#
1030aaa8977SQian Cai# Tracers
1040aaa8977SQian Cai#
1050aaa8977SQian CaiCONFIG_BRANCH_PROFILE_NONE=y
1060aaa8977SQian CaiCONFIG_DYNAMIC_FTRACE=y
1070aaa8977SQian CaiCONFIG_FTRACE=y
1080aaa8977SQian CaiCONFIG_FUNCTION_TRACER=y
109