Skip to content

Commit 0009fcf

Browse files
authored
Unrolled build for rust-lang#121195
Rollup merge of rust-lang#121195 - D0liphin:master, r=ehuss unstable-book: Separate testing and production sanitizers This is a redo of [this PR](rust-lang#108942). Left the commit as before (except for reflowing to 80-width), since it already got approved.
2 parents bcea3cb + 3e5ad42 commit 0009fcf

File tree

1 file changed

+29
-15
lines changed

1 file changed

+29
-15
lines changed

src/doc/unstable-book/src/compiler-flags/sanitizer.md

+29-15
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
# `sanitizer`
22

3+
Sanitizers are tools that help detect and prevent various types of bugs and
4+
vulnerabilities in software. They are available in compilers and work by
5+
instrumenting the code to add additional runtime checks. While they provide
6+
powerful tools for identifying bugs or security issues, it's important to note
7+
that using sanitizers can introduce runtime overhead and might not catch all
8+
possible issues. Therefore, they are typically used alongside other best
9+
practices in software development, such as testing and fuzzing, to ensure the
10+
highest level of software quality and security.
11+
312
The tracking issues for this feature are:
413

514
* [#39699](https://github.com/rust-lang/rust/issues/39699).
@@ -9,21 +18,26 @@ The tracking issues for this feature are:
918

1019
This feature allows for use of one of following sanitizers:
1120

12-
* [AddressSanitizer](#addresssanitizer) a fast memory error detector.
13-
* [ControlFlowIntegrity](#controlflowintegrity) LLVM Control Flow Integrity (CFI) provides
14-
forward-edge control flow protection.
15-
* [HWAddressSanitizer](#hwaddresssanitizer) a memory error detector similar to
16-
AddressSanitizer, but based on partial hardware assistance.
17-
* [KernelControlFlowIntegrity](#kernelcontrolflowintegrity) LLVM Kernel Control
18-
Flow Integrity (KCFI) provides forward-edge control flow protection for
19-
operating systems kernels.
20-
* [LeakSanitizer](#leaksanitizer) a run-time memory leak detector.
21-
* [MemorySanitizer](#memorysanitizer) a detector of uninitialized reads.
22-
* [MemTagSanitizer](#memtagsanitizer) fast memory error detector based on
23-
Armv8.5-A Memory Tagging Extension.
24-
* [SafeStack](#safestack) provides backward-edge control flow protection by separating the stack into safe and unsafe regions.
25-
* [ShadowCallStack](#shadowcallstack) provides backward-edge control flow protection (aarch64 only).
26-
* [ThreadSanitizer](#threadsanitizer) a fast data race detector.
21+
* Those intended for testing or fuzzing (but not production use):
22+
* [AddressSanitizer](#addresssanitizer) a fast memory error detector.
23+
* [HWAddressSanitizer](#hwaddresssanitizer) a memory error detector similar to
24+
AddressSanitizer, but based on partial hardware assistance.
25+
* [LeakSanitizer](#leaksanitizer) a run-time memory leak detector.
26+
* [MemorySanitizer](#memorysanitizer) a detector of uninitialized reads.
27+
* [ThreadSanitizer](#threadsanitizer) a fast data race detector.
28+
29+
* Those that apart from testing, may be used in production:
30+
* [ControlFlowIntegrity](#controlflowintegrity) LLVM Control Flow Integrity
31+
(CFI) provides forward-edge control flow protection.
32+
* [KernelControlFlowIntegrity](#kernelcontrolflowintegrity) LLVM Kernel
33+
Control Flow Integrity (KCFI) provides forward-edge control flow protection
34+
for operating systems kernels.
35+
* [MemTagSanitizer](#memtagsanitizer) fast memory error detector based on
36+
Armv8.5-A Memory Tagging Extension.
37+
* [SafeStack](#safestack) provides backward-edge control flow protection by
38+
separating the stack into safe and unsafe regions.
39+
* [ShadowCallStack](#shadowcallstack) provides backward-edge control flow
40+
protection (aarch64 only).
2741

2842
To enable a sanitizer compile with `-Zsanitizer=address`,`-Zsanitizer=cfi`,
2943
`-Zsanitizer=hwaddress`, `-Zsanitizer=leak`, `-Zsanitizer=memory`,

0 commit comments

Comments
 (0)