On Thu, Jun 7, 2018 at 5:31 PM H.J. Lu <hjl.tools@xxxxxxxxx> wrote: > > On Thu, Jun 7, 2018 at 4:00 PM, Andy Lutomirski <luto@xxxxxxxxxx> wrote: > > On Thu, Jun 7, 2018 at 3:03 PM H.J. Lu <hjl.tools@xxxxxxxxx> wrote: > >> > >> On Thu, Jun 7, 2018 at 1:50 PM, Andy Lutomirski <luto@xxxxxxxxxx> wrote: > >> > On Thu, Jun 7, 2018 at 7:42 AM Yu-cheng Yu <yu-cheng.yu@xxxxxxxxx> wrote: > >> >> > >> >> From: "H.J. Lu" <hjl.tools@xxxxxxxxx> > >> >> > >> >> When Intel indirect branch tracking is enabled, functions in vDSO which > >> >> may be called indirectly should have endbr32 or endbr64 as the first > >> >> instruction. We try to compile vDSO with -fcf-protection=branch -mibt > >> >> if possible. Otherwise, we insert endbr32 or endbr64 by hand to assembly > >> >> codes generated by the compiler. > >> > > >> > Wow, that's... a genuine abomination. Do we really need to support > >> > CET on kernels built with old toolchains? > >> > > >> > >> Yes. GCC 7 should be able to build CET kernel. > >> > > > > Why? Presumably people running distros that use CET are going to have > > kernels build with a CET-supporting compiler. > > > > Good point. It was needed before GCC 8 was released. We can drop > arch/x86/entry/vdso/endbr.sh now. > Phew! We'll still need a patch to prevent configuring CET on a compiler that can't support it.