Flags for mitigating straight line speculation #869
Labels
major-change
A proposal to make a major change to rustc
T-compiler
Add this label so rfcbot knows to poll the compiler team
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: