summaryrefslogtreecommitdiffstats
path: root/clang/docs
diff options
context:
space:
mode:
authorScott Constable <scott.d.constable@intel.com>2020-04-02 21:59:47 -0700
committerTom Stellard <tstellar@redhat.com>2020-06-24 09:31:04 -0700
commit071acfdd4694bb2b94efe6122128c5e7f840ce46 (patch)
tree5aa003074978978cc4669ee895f1a1391018c4ff /clang/docs
parenta09ebfdafb9dbfc8aa4ca493389ff9da956eabc1 (diff)
downloadbcm5719-llvm-071acfdd4694bb2b94efe6122128c5e7f840ce46.tar.gz
bcm5719-llvm-071acfdd4694bb2b94efe6122128c5e7f840ce46.zip
[X86] Add Indirect Thunk Support to X86 to mitigate Load Value Injection (LVI)
This pass replaces each indirect call/jump with a direct call to a thunk that looks like: lfence jmpq *%r11 This ensures that if the value in register %r11 was loaded from memory, then the value in %r11 is (architecturally) correct prior to the jump. Also adds a new target feature to X86: +lvi-cfi ("cfi" meaning control-flow integrity) The feature can be added via clang CLI using -mlvi-cfi. This is an alternate implementation to https://reviews.llvm.org/D75934 That merges the thunk insertion functionality with the existing X86 retpoline code. Differential Revision: https://reviews.llvm.org/D76812
Diffstat (limited to 'clang/docs')
-rw-r--r--clang/docs/ClangCommandLineReference.rst4
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/docs/ClangCommandLineReference.rst b/clang/docs/ClangCommandLineReference.rst
index 10c14db1b89..0292e160176 100644
--- a/clang/docs/ClangCommandLineReference.rst
+++ b/clang/docs/ClangCommandLineReference.rst
@@ -2577,6 +2577,10 @@ Use Intel MCU ABI
Generate branches with extended addressability, usually via indirect jumps.
+.. option:: -mlvi-cfi, -mno-lvi-cfi
+
+Enable only control-flow mitigations for Load Value Injection (LVI)
+
.. option:: -mmacosx-version-min=<arg>, -mmacos-version-min=<arg>
Set Mac OS X deployment target
OpenPOWER on IntegriCloud