@@ -9,16 +9,19 @@ The rustc compiler contains support for following sanitizers:
9
9
forward-edge control flow protection.
10
10
* [ Hardware-assisted AddressSanitizer] [ clang-hwasan ] a tool similar to
11
11
AddressSanitizer but based on partial hardware assistance.
12
+ * [ KernelControlFlowIntegrity] [ clang-kcfi ] LLVM Kernel Control Flow Integrity
13
+ (KCFI) provides forward-edge control flow protection for operating systems
14
+ kernels.
12
15
* [ LeakSanitizer] [ clang-lsan ] a run-time memory leak detector.
13
16
* [ MemorySanitizer] [ clang-msan ] a detector of uninitialized reads.
14
17
* [ ThreadSanitizer] [ clang-tsan ] a fast data race detector.
15
18
16
19
## How to use the sanitizers?
17
20
18
21
To enable a sanitizer compile with ` -Z sanitizer=... ` option, where value is one
19
- of ` address ` , ` cfi ` , ` hwaddress ` , ` leak ` , ` memory ` or ` thread ` . For more details
20
- on how to use sanitizers please refer to the sanitizer flag in [ the unstable
21
- book] ( https://doc.rust-lang.org/unstable-book/ ) .
22
+ of ` address ` , ` cfi ` , ` hwaddress ` , ` kcfi ` , ` leak ` , ` memory ` or ` thread ` . For more
23
+ details on how to use sanitizers please refer to the sanitizer flag in [ the
24
+ unstable book] ( https://doc.rust-lang.org/unstable-book/ ) .
22
25
23
26
## How are sanitizers implemented in rustc?
24
27
@@ -109,13 +112,15 @@ To enable a sanitizer on a new target which is already supported by LLVM:
109
112
* [ AddressSanitizer in Clang] [ clang-asan ]
110
113
* [ ControlFlowIntegrity in Clang] [ clang-cfi ]
111
114
* [ Hardware-assisted AddressSanitizer] [ clang-hwasan ]
115
+ * [ KernelControlFlowIntegrity in Clang] [ clang-kcfi ]
112
116
* [ LeakSanitizer in Clang] [ clang-lsan ]
113
117
* [ MemorySanitizer in Clang] [ clang-msan ]
114
118
* [ ThreadSanitizer in Clang] [ clang-tsan ]
115
119
116
120
[ clang-asan ] : https://clang.llvm.org/docs/AddressSanitizer.html
117
121
[ clang-cfi ] : https://clang.llvm.org/docs/ControlFlowIntegrity.html
118
122
[ clang-hwasan ] : https://clang.llvm.org/docs/HardwareAssistedAddressSanitizerDesign.html
123
+ [ clang-kcfi ] : https://clang.llvm.org/docs/ControlFlowIntegrity.html#fsanitize-kcfi
119
124
[ clang-lsan ] : https://clang.llvm.org/docs/LeakSanitizer.html
120
125
[ clang-msan ] : https://clang.llvm.org/docs/MemorySanitizer.html
121
126
[ clang-tsan ] : https://clang.llvm.org/docs/ThreadSanitizer.html
0 commit comments