[PATCH] D76900: Enable IBT(Indirect Branch Tracking) in JIT with CET(Control-flow Enforcement Technology)

H.J Lu via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Mar 29 20:52:20 PDT 2020


hjl.tools added a comment.

In D76900#1949020 <https://reviews.llvm.org/D76900#1949020>, @xiangzhangllvm wrote:

> In D76900#1948990 <https://reviews.llvm.org/D76900#1948990>, @hjl.tools wrote:
>
> > > 2, Do you mean here we need add JIT test for this patch ? Check endbr in JIT generated code?
> >
> > My changes fixed the VNC crash.  But there is no testcase to show why my patches are needed.
>
>
> Your tests failed on** CET machine**
>  and the existing llvm unit tests also failed the on the CET machine
>  They are the same reason for lack of endbr* in JIT.
>  So I think the existing llvm unit tests is enough for this patch.


My patch has 2 parts:

1. Check __CET__  in JIT instead of checking -fcf-protection-branch.
2. Always insert ENDBR in JIT with __CET__.

I think the first one alone will fix LLVM JIT tests on CET machine.  But
it won't fix VNC.   The second one is needed for VNC.   I don't have
a testcase for the second patch.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D76900/new/

https://reviews.llvm.org/D76900





More information about the llvm-commits mailing list