diff options
| author | Marco Elver <elver@google.com> | 2020-08-04 20:07:29 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2020-08-04 21:39:55 +0200 |
| commit | 02034dac31a9c4dfecfa163f445ef1921c442268 (patch) | |
| tree | 6e98463415eb879d1242e28dc221b9ceb9da78fe | |
| parent | 43f1389ddccb58a4c1a335db9c8c93a622572671 (diff) | |
dashboard/config: select KCSAN_VERBOSE in KCSAN config
In the KCSAN config, enable KCSAN_VERBOSE to generate better reports,
that include the locks held and the IRQ trace events for each thread.
The option requires PROVE_LOCKING, which comes with some performance
cost.
| -rw-r--r-- | dashboard/config/bits-kcsan.config | 5 | ||||
| -rw-r--r-- | dashboard/config/upstream-kcsan.config | 23 |
2 files changed, 19 insertions, 9 deletions
diff --git a/dashboard/config/bits-kcsan.config b/dashboard/config/bits-kcsan.config index 9c86ace2e..faa6f7ffb 100644 --- a/dashboard/config/bits-kcsan.config +++ b/dashboard/config/bits-kcsan.config @@ -5,8 +5,12 @@ # CONFIG_KASAN is not set CONFIG_VMAP_STACK=y +# Requirement for CONFIG_KCSAN_VERBOSE: +CONFIG_PROVE_LOCKING=y + # Enable KCSAN: CONFIG_KCSAN=y +CONFIG_KCSAN_VERBOSE=y # CONFIG_KCSAN_DEBUG is not set CONFIG_KCSAN_SELFTEST=y # CONFIG_KCSAN_EARLY_ENABLE is not set @@ -27,7 +31,6 @@ CONFIG_KCSAN_IGNORE_ATOMICS=y # CONFIG_DEBUG_VIRTUAL is not set # CONFIG_DEBUG_MEMORY_INIT is not set # CONFIG_DEBUG_PER_CPU_MAPS is not set -# CONFIG_PROVE_LOCKING is not set # CONFIG_DEBUG_RT_MUTEXES is not set # CONFIG_DEBUG_SPINLOCK is not set # CONFIG_DEBUG_MUTEXES is not set diff --git a/dashboard/config/upstream-kcsan.config b/dashboard/config/upstream-kcsan.config index 8c11beee9..70f880944 100644 --- a/dashboard/config/upstream-kcsan.config +++ b/dashboard/config/upstream-kcsan.config @@ -14,7 +14,7 @@ CONFIG_TWIST_FOR_SYZKALLER_TESTING=y # # Automatically generated file; DO NOT EDIT. -# Linux/x86 5.8.0-rc7 Kernel Configuration +# Linux/x86 5.8.0 Kernel Configuration # CONFIG_CC_VERSION_TEXT="clang version 11.0.0 (https://github.com/llvm/llvm-project.git ca2dcbd030eadbf0aa9b660efe864ff08af6e18b)" CONFIG_GCC_VERSION=0 @@ -8271,20 +8271,24 @@ CONFIG_DEBUG_PREEMPT=y # Lock Debugging (spinlocks, mutexes, etc...) # CONFIG_LOCK_DEBUGGING_SUPPORT=y -# CONFIG_PROVE_LOCKING is not set +CONFIG_PROVE_LOCKING=y +# CONFIG_PROVE_RAW_LOCK_NESTING is not set # CONFIG_LOCK_STAT is not set -# CONFIG_DEBUG_RT_MUTEXES is not set -# CONFIG_DEBUG_SPINLOCK is not set -# CONFIG_DEBUG_MUTEXES is not set -# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set -# CONFIG_DEBUG_RWSEMS is not set -# CONFIG_DEBUG_LOCK_ALLOC is not set +CONFIG_DEBUG_RT_MUTEXES=y +CONFIG_DEBUG_SPINLOCK=y +CONFIG_DEBUG_MUTEXES=y +CONFIG_DEBUG_WW_MUTEX_SLOWPATH=y +CONFIG_DEBUG_RWSEMS=y +CONFIG_DEBUG_LOCK_ALLOC=y +CONFIG_LOCKDEP=y +# CONFIG_DEBUG_LOCKDEP is not set # CONFIG_DEBUG_ATOMIC_SLEEP is not set # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set # CONFIG_LOCK_TORTURE_TEST is not set # CONFIG_WW_MUTEX_SELFTEST is not set # end of Lock Debugging (spinlocks, mutexes, etc...) +CONFIG_TRACE_IRQFLAGS=y CONFIG_STACKTRACE=y # CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set # CONFIG_DEBUG_KOBJECT is not set @@ -8304,6 +8308,7 @@ CONFIG_BUG_ON_DATA_CORRUPTION=y # # RCU Debugging # +CONFIG_PROVE_RCU=y # CONFIG_RCU_PERF_TEST is not set # CONFIG_RCU_TORTURE_TEST is not set CONFIG_RCU_CPU_STALL_TIMEOUT=100 @@ -8330,6 +8335,7 @@ CONFIG_TRACE_CLOCK=y CONFIG_RING_BUFFER=y CONFIG_EVENT_TRACING=y CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_PREEMPTIRQ_TRACEPOINTS=y CONFIG_TRACING=y CONFIG_GENERIC_TRACER=y CONFIG_TRACING_SUPPORT=y @@ -8366,6 +8372,7 @@ CONFIG_PROVIDE_OHCI1394_DMA_INIT=y CONFIG_HAVE_ARCH_KCSAN=y CONFIG_HAVE_KCSAN_COMPILER=y CONFIG_KCSAN=y +CONFIG_KCSAN_VERBOSE=y # CONFIG_KCSAN_DEBUG is not set CONFIG_KCSAN_SELFTEST=y # CONFIG_KCSAN_EARLY_ENABLE is not set |
