summaryrefslogtreecommitdiffstats
path: root/llvm/docs/LangRef.rst
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/docs/LangRef.rst')
-rw-r--r--llvm/docs/LangRef.rst22
1 files changed, 9 insertions, 13 deletions
diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst
index 7ec157fb73c..fa85b6e6ee7 100644
--- a/llvm/docs/LangRef.rst
+++ b/llvm/docs/LangRef.rst
@@ -1643,19 +1643,15 @@ example:
``speculative_load_hardening``
This attribute indicates that
`Speculative Load Hardening <https://llvm.org/docs/SpeculativeLoadHardening.html>`_
- should be enabled for the function body. This is a best-effort attempt to
- mitigate all known speculative execution information leak vulnerabilities
- that are based on the fundamental principles of modern processors'
- speculative execution. These vulnerabilities are classified as "Spectre
- variant #1" vulnerabilities typically. Notably, this does not attempt to
- mitigate any vulnerabilities where the speculative execution and/or
- prediction devices of specific processors can be *completely* undermined
- (such as "Branch Target Injection", a.k.a, "Spectre variant #2"). Instead,
- this is a target-independent request to harden against the completely
- generic risk posed by speculative execution to incorrectly load secret data,
- making it available to some micro-architectural side-channel for information
- leak. For a processor without any speculative execution or predictors, this
- is expected to be a no-op.
+ should be enabled for the function body.
+
+ Speculative Load Hardening is a best-effort mitigation against
+ information leak attacks that make use of control flow
+ miss-speculation - specifically miss-speculation of whether a branch
+ is taken or not. Typically vulnerabilities enabling such attacks are
+ classified as "Spectre variant #1". Notably, this does not attempt to
+ mitigate against miss-speculation of branch target, classified as
+ "Spectre variant #2" vulnerabilities.
When inlining, the attribute is sticky. Inlining a function that carries
this attribute will cause the caller to gain the attribute. This is intended
OpenPOWER on IntegriCloud