File tree Expand file tree Collapse file tree 2 files changed +22
-0
lines changed Expand file tree Collapse file tree 2 files changed +22
-0
lines changed Original file line number Diff line number Diff line change 3
3
config HAVE_ARCH_KCSAN
4
4
bool
5
5
6
+ config KCSAN_KCOV_BROKEN
7
+ def_bool KCOV && CC_HAS_SANCOV_TRACE_PC
8
+ depends on CC_IS_CLANG
9
+ depends on !$(cc-option,-Werror=unused-command-line-argument -fsanitize=thread -fsanitize-coverage=trace-pc)
10
+ help
11
+ Some versions of clang support either KCSAN and KCOV but not the
12
+ combination of the two.
13
+ See https://bugs.llvm.org/show_bug.cgi?id=45831 for the status
14
+ in newer releases.
15
+
6
16
menuconfig KCSAN
7
17
bool "KCSAN: dynamic data race detector"
8
18
depends on HAVE_ARCH_KCSAN && DEBUG_KERNEL && !KASAN
19
+ depends on !KCSAN_KCOV_BROKEN
9
20
select STACKTRACE
10
21
help
11
22
The Kernel Concurrency Sanitizer (KCSAN) is a dynamic
Original file line number Diff line number Diff line change @@ -26,9 +26,20 @@ config UBSAN_TRAP
26
26
the system. For some system builders this is an acceptable
27
27
trade-off.
28
28
29
+ config UBSAN_KCOV_BROKEN
30
+ def_bool KCOV && CC_HAS_SANCOV_TRACE_PC
31
+ depends on CC_IS_CLANG
32
+ depends on !$(cc-option,-Werror=unused-command-line-argument -fsanitize=bounds -fsanitize-coverage=trace-pc)
33
+ help
34
+ Some versions of clang support either UBSAN or KCOV but not the
35
+ combination of the two.
36
+ See https://bugs.llvm.org/show_bug.cgi?id=45831 for the status
37
+ in newer releases.
38
+
29
39
config UBSAN_BOUNDS
30
40
bool "Perform array index bounds checking"
31
41
default UBSAN
42
+ depends on !UBSAN_KCOV_BROKEN
32
43
help
33
44
This option enables detection of directly indexed out of bounds
34
45
array accesses, where the array size is known at compile time.
You can’t perform that action at this time.
0 commit comments