diff options
author | Scott Constable <scott.d.constable@intel.com> | 2020-05-11 10:25:35 -0700 |
---|---|---|
committer | Craig Topper <craig.topper@intel.com> | 2020-05-11 13:08:35 -0700 |
commit | e97a3e5d9d428c4d455fa1b1982728bb71f0c397 (patch) | |
tree | ba8fd715ac3e4ef9f63c561bbe68543fbe67b7f3 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | a1b04aaea210a9a9fbe0cd9dd7f874e12fa97585 (diff) | |
download | llvm-e97a3e5d9d428c4d455fa1b1982728bb71f0c397.zip llvm-e97a3e5d9d428c4d455fa1b1982728bb71f0c397.tar.gz llvm-e97a3e5d9d428c4d455fa1b1982728bb71f0c397.tar.bz2 |
[X86] Add a Pass that builds a Condensed CFG for Load Value Injection (LVI) Gadgets
Adds a new data structure, ImmutableGraph, and uses RDF to find LVI gadgets and add them to a MachineGadgetGraph.
More specifically, a new X86 machine pass finds Load Value Injection (LVI) gadgets consisting of a load from memory (i.e., SOURCE), and any operation that may transmit the value loaded from memory over a covert channel, or use the value loaded from memory to determine a branch/call target (i.e., SINK).
Also adds a new target feature to X86: +lvi-load-hardening
The feature can be added via the clang CLI using -mlvi-hardening.
Differential Revision: https://reviews.llvm.org/D75936
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions