Kernel has multiple config options to run extra validation checks that can help catch bugs. Define new configs for major subsystems to make it easy to enable the debug config options for a given area.
Signed-off-by: Gautam Menghani <[email protected]> --- arch/powerpc/Makefile | 16 ++++++++++++++++ arch/powerpc/configs/common_debug.config | 11 +++++++++++ arch/powerpc/configs/locks_debug.config | 13 +++++++++++++ arch/powerpc/configs/lockup_debug.config | 4 ++++ arch/powerpc/configs/mm_debug.config | 24 ++++++++++++++++++++++++ 5 files changed, 68 insertions(+) create mode 100644 arch/powerpc/configs/common_debug.config create mode 100644 arch/powerpc/configs/locks_debug.config create mode 100644 arch/powerpc/configs/lockup_debug.config create mode 100644 arch/powerpc/configs/mm_debug.config diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile index 9385db478c59..425f36c3f471 100644 --- a/arch/powerpc/Makefile +++ b/arch/powerpc/Makefile @@ -259,6 +259,22 @@ generated_configs += ppc64le_guest_defconfig ppc64le_guest_defconfig: $(call merge_into_defconfig,ppc64_defconfig,le guest kvm_guest) +generated_configs += ppc64le_common_debug_defconfig +ppc64le_common_debug_defconfig: + $(call merge_into_defconfig,ppc64_defconfig,le common_debug) + +generated_configs += ppc64le_locks_debug_defconfig +ppc64le_locks_debug_defconfig: + $(call merge_into_defconfig,ppc64_defconfig,le locks_debug) + +generated_configs += ppc64le_mm_debug_defconfig +ppc64le_mm_debug_defconfig: + $(call merge_into_defconfig,ppc64_defconfig,le mm_debug) + +generated_configs += ppc64le_lockup_debug_defconfig +ppc64le_lockup_debug_defconfig: + $(call merge_into_defconfig,ppc64_defconfig,le lockup_debug) + generated_configs += ppc64_guest_defconfig ppc64_guest_defconfig: $(call merge_into_defconfig,ppc64_defconfig,be guest kvm_guest) diff --git a/arch/powerpc/configs/common_debug.config b/arch/powerpc/configs/common_debug.config new file mode 100644 index 000000000000..a341c8b41468 --- /dev/null +++ b/arch/powerpc/configs/common_debug.config @@ -0,0 +1,11 @@ +# For use in CI testing +CONFIG_EXPERT=y +CONFIG_PROVE_LOCKING=y +CONFIG_PROVE_RCU=y +CONFIG_KASAN=y +CONFIG_UBSAN=y +CONFIG_DEBUG_PAGEALLOC=y +CONFIG_DEBUG_VM=y +CONFIG_DEBUG_OBJECTS=y +CONFIG_DEBUG_KMEMLEAK=y +CONFIG_DEBUG_STACKOVERFLOW=y diff --git a/arch/powerpc/configs/locks_debug.config b/arch/powerpc/configs/locks_debug.config new file mode 100644 index 000000000000..b2cb23de75db --- /dev/null +++ b/arch/powerpc/configs/locks_debug.config @@ -0,0 +1,13 @@ +CONFIG_EXPERT=y +CONFIG_PROVE_LOCKING=y +CONFIG_DEBUG_LOCK_ALLOC=y +CONFIG_DEBUG_ATOMIC_SLEEP=y +CONFIG_DEBUG_LOCKING_API_SELFTESTS=y +CONFIG_DEBUG_MUTEXES=y +CONFIG_DEBUG_SPINLOCK=y +CONFIG_DEBUG_RT_MUTEXES=y +CONFIG_DEBUG_RWSEMS=y +CONFIG_PROVE_RAW_LOCK_NESTING=y +CONFIG_RCU_EXPERT=y +CONFIG_PROVE_RCU=y +CONFIG_RCU_TRACE=y diff --git a/arch/powerpc/configs/lockup_debug.config b/arch/powerpc/configs/lockup_debug.config new file mode 100644 index 000000000000..ad0a79abf60f --- /dev/null +++ b/arch/powerpc/configs/lockup_debug.config @@ -0,0 +1,4 @@ +CONFIG_EXPERT=y +CONFIG_WQ_WATCHDOG=y +CONFIG_DETECT_HUNG_TASK=y +CONFIG_PANIC_ON_OOPS=y diff --git a/arch/powerpc/configs/mm_debug.config b/arch/powerpc/configs/mm_debug.config new file mode 100644 index 000000000000..0e88eb983536 --- /dev/null +++ b/arch/powerpc/configs/mm_debug.config @@ -0,0 +1,24 @@ +CONFIG_EXPERT=y +CONFIG_DEBUG_PAGEALLOC=y +CONFIG_DEBUG_SLAB=y +CONFIG_KASAN=y +CONFIG_KFENCE=y +CONFIG_KMSAN=y +CONFIG_DEBUG_KMEMLEAK=y +CONFIG_DEBUG_VM=y +CONFIG_DEBUG_VIRTUAL=y +CONFIG_DEBUG_OBJECTS=y +CONFIG_DEBUG_OBJECTS_FREE=y +CONFIG_DEBUG_OBJECTS_TIMERS=y +CONFIG_DEBUG_OBJECTS_WORK=y +CONFIG_DEBUG_OBJECTS_RCU_HEAD=y +CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y +CONFIG_SCHED_STACK_END_CHECK=y +CONFIG_DEBUG_VM_MAPLE_TREE=y +CONFIG_DEBUG_VM_RB=y +CONFIG_DEBUG_VM_PGFLAGS=y +CONFIG_DEBUG_MEMORY_INIT=y +CONFIG_DEBUG_PER_CPU_MAPS=y +CONFIG_DEBUG_KMAP_LOCAL=y +CONFIG_DEBUG_HIGHMEM=y +CONFIG_DEBUG_STACKOVERFLOW=y -- 2.54.0
