[PATCH] D41723: Introduce the "retpoline" x86 mitigation technique for variant #2 of the speculative execution vulnerabilities disclosed today, specifically identified by CVE-2017-5715, "Branch Target Injection", and is one of the two halves to Spectre..

Reid Kleckner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 4 14:50:48 PST 2018


rnk added inline comments.


================
Comment at: llvm/lib/Target/X86/X86InstrCompiler.td:1160
           (TCRETURNdi tglobaladdr:$dst, imm:$off)>,
-          Requires<[NotLP64]>;
+          Requires<[NotLP64, NotUseRetpoline]>;
 
----------------
chandlerc wrote:
> AndreiGrischenko wrote:
> > Hi Chandler,
> > Do you really want to use "NotUseRetpoline" here? It will match RETPOLINE_TCRETURN32 then even it is not an indirect branch.
> > I guess the following test case will crash llc.
> > 
> > ```
> > target triple = "i386-unknown-linux-gnu"
> > 
> > define void @FOO() {
> >   ret void
> > }
> > 
> > define void @FOO1() {
> > entry:
> >   tail call void @FOO()
> >   ret void
> > }
> > ```
> > 
> Reid, could you take a look?
Here's a small diff on top of this one that fixes and tests it: https://reviews.llvm.org/P8056


https://reviews.llvm.org/D41723





More information about the llvm-commits mailing list