-
-
Notifications
You must be signed in to change notification settings - Fork 14.9k
Some sanitizers are always recoverable #154670
Copy link
Copy link
Open
Labels
A-sanitizersArea: Sanitizers for correctness and code qualityArea: Sanitizers for correctness and code qualityC-bugCategory: This is a bug.Category: This is a bug.needs-triageThis issue may need triage. Remove it if it has been sufficiently triaged.This issue may need triage. Remove it if it has been sufficiently triaged.
Metadata
Metadata
Assignees
Labels
A-sanitizersArea: Sanitizers for correctness and code qualityArea: Sanitizers for correctness and code qualityC-bugCategory: This is a bug.Category: This is a bug.needs-triageThis issue may need triage. Remove it if it has been sufficiently triaged.This issue may need triage. Remove it if it has been sufficiently triaged.
Type
Fields
Give feedbackNo fields configured for issues without a type.
Clang currently declares that the three kernel- sanitizers are always recoverable.
See the code here.
This means that in clang, you do not need to specify
-fsanitize-recoverfor these sanitizers (it is implied), and-fnosanitize-recoveris an error for them. Whereas in Rust, you do in fact have to explicitly specify that you want the recoverable version when you enable kernel-address or kernel-hwaddress. In fact, if you do not specify it with kernel-hwaddres, this leads to different hwasan symbols being used.