diff options
author | Marco Elver <elver@google.com> | 2019-11-14 19:02:58 +0100 |
---|---|---|
committer | Paul E. McKenney <paulmck@kernel.org> | 2019-11-16 16:23:14 +0100 |
commit | 0ebba7141eadc4804ec5b4bb5106331b0c3abf4c (patch) | |
tree | a617750df8458739f01d1255ab33249f1de4b25f /kernel/Makefile | |
parent | objtool, kcsan: Add KCSAN runtime functions to whitelist (diff) | |
download | linux-0ebba7141eadc4804ec5b4bb5106331b0c3abf4c.tar.xz linux-0ebba7141eadc4804ec5b4bb5106331b0c3abf4c.zip |
build, kcsan: Add KCSAN build exceptions
This blacklists several compilation units from KCSAN. See the respective
inline comments for the reasoning.
Signed-off-by: Marco Elver <elver@google.com>
Acked-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Diffstat (limited to 'kernel/Makefile')
-rw-r--r-- | kernel/Makefile | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/kernel/Makefile b/kernel/Makefile index 74ab46e2ebd1..cc53f7c25446 100644 --- a/kernel/Makefile +++ b/kernel/Makefile @@ -23,6 +23,9 @@ endif # Prevents flicker of uninteresting __do_softirq()/__local_bh_disable_ip() # in coverage traces. KCOV_INSTRUMENT_softirq.o := n +# Avoid KCSAN instrumentation in softirq ("No shared variables, all the data +# are CPU local" => assume no data races), to reduce overhead in interrupts. +KCSAN_SANITIZE_softirq.o = n # These are called from save_stack_trace() on slub debug path, # and produce insane amounts of uninteresting coverage. KCOV_INSTRUMENT_module.o := n @@ -30,6 +33,7 @@ KCOV_INSTRUMENT_extable.o := n # Don't self-instrument. KCOV_INSTRUMENT_kcov.o := n KASAN_SANITIZE_kcov.o := n +KCSAN_SANITIZE_kcov.o := n CFLAGS_kcov.o := $(call cc-option, -fno-conserve-stack -fno-stack-protector) # cond_syscall is currently not LTO compatible @@ -118,6 +122,7 @@ obj-$(CONFIG_RSEQ) += rseq.o obj-$(CONFIG_GCC_PLUGIN_STACKLEAK) += stackleak.o KASAN_SANITIZE_stackleak.o := n +KCSAN_SANITIZE_stackleak.o := n KCOV_INSTRUMENT_stackleak.o := n $(obj)/configs.o: $(obj)/config_data.gz |