Scott Constable 5b519cf1fc [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
2020-04-03 00:34:39 -07:00
..
2019-04-08 13:58:50 +00:00
2019-05-06 09:46:50 +00:00
2019-05-06 09:46:50 +00:00
2019-05-06 09:46:50 +00:00
2019-05-06 09:46:50 +00:00
2019-05-06 09:46:50 +00:00
2019-05-06 09:46:50 +00:00
2019-02-26 16:55:10 +00:00
2019-08-12 01:29:46 +00:00
2020-03-24 23:04:58 +09:00
2020-02-08 15:23:40 +00:00
2020-02-08 15:23:40 +00:00
2019-04-15 17:38:47 +00:00
2019-04-15 17:38:47 +00:00
2019-04-15 17:38:47 +00:00
2020-01-06 10:50:26 +00:00
2019-08-15 10:12:26 +00:00
2019-05-06 09:46:50 +00:00
2019-03-29 17:35:56 +00:00
2019-05-06 19:29:24 +00:00
2019-03-15 21:17:53 +00:00
2019-03-08 19:16:26 +00:00
2019-10-07 14:10:21 +00:00
2019-09-05 18:15:07 +00:00
2019-04-08 13:58:50 +00:00
2019-06-18 23:31:10 +00:00
2020-01-31 09:36:55 -08:00