<div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Thu, Jan 4, 2018 at 10:02 AM Tom Stellard via Phabricator via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">tstellar added a comment.<br>
<br>
Also,  does this mitigation require the use of lld or is there a way to make this work with gnu ld ?<br></blockquote><div><br></div><div>*IF* you are mitigating a dynamically linked executable of some kind, and thus have PLT-based indirect dispatch between images (even if it is just between the loader and your executable), then you need some linker support.</div><div><br></div><div>This patch provides LLD support. We've also developed a Gold patch and that should be out for review today, and backported. I'm hopeful Intel or others will develop BFD-based GNU ld patches as well. Any of these will be sufficient.</div><div><br></div><div>However I want to reiterate something that may have been lost: we expect this use case to be even more rare than generic use cases for retpoline.</div><div><br></div><div>The software systems which need this mitigation are most often OS kernels, hypervisors, drivers, etc. Things that execute with elevated privileges but in conjunction with userspace, potentially untrusted code. Much of this software will have no PLT and no need for the linker support.</div><div><br></div><div>We're providing the linker support to cover the case where there is an unusually privileged userspace application that needs to be secured.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<br>
<a href="https://reviews.llvm.org/D41723" rel="noreferrer" target="_blank">https://reviews.llvm.org/D41723</a><br>
<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</blockquote></div></div>