-
Notifications
You must be signed in to change notification settings - Fork 73
Flags for mitigating straight line speculation #869
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Important This issue is not meant to be used for technical discussion. There is a Zulip stream for that. Concerns or objections can formally be registered here by adding a comment.
Concerns can be lifted with:
See documentation at https://forge.rust-lang.org |
@rustbot second |
@rustbot label -final-comment-period +major-change-accepted |
Uh oh!
There was an error while loading. Please reload this page.
Proposal
Add a new flag
-Zharden-sls=[none|all|return|indirect-jmp]
to mitigate against straight line speculation (SLS).The flag is implemented by enabling the LLVM target modifiers
+harden-sls-ijmp
or+harden-sls-ret
.The naming of this flag and its options are what both clang and gcc use. The Linux kernel uses the configuration
-mharden-sls=all
.I suggest that the flags should utilize the target modifier infrastructure to prevent mixing compilation units with and without the flags because such misuse breaks the mitigation. However, the flag to opt-out from this check does not necessarily need the word "unsafe" because it's not actually part of the ABI.
These flags are added with the intent of later stabilizing them, hence this MCP.
The Rust issue for this feature is rust-lang/rust#116851.
Process
The main points of the Major Change Process are as follows:
@rustbot second
.-C flag
, then full team check-off is required.@rfcbot fcp merge
on either the MCP or the PR.You can read more about Major Change Proposals on forge.
The text was updated successfully, but these errors were encountered: