Re: [PATCH v5 00/15] x86: Add support for Clang CFI

From: Peter Zijlstra
Date: Wed Oct 27 2021 - 08:52:03 EST


On Wed, Oct 27, 2021 at 02:22:27PM +0200, Ard Biesheuvel wrote:
> On Wed, 27 Oct 2021 at 14:05, Mark Rutland <mark.rutland@xxxxxxx> wrote:

> > > Should not this jump-table thingy get converted to an actual function
> > > address somewhere around arch_static_call_transform() ? This also seems
> > > relevant for arm64 (which already has CLANG_CFI supported) given:
> > >
> > > https://lkml.kernel.org/r/20211025122102.46089-3-frederic@xxxxxxxxxx
> >
> > Ugh, yeah, we'll need to do the function_nocfi() dance somewhere...
> >
>
> Sadly, that only works on symbol names, so we cannot use it to strip
> CFI-ness from void *func arguments passed into the static call API,
> unfortunately.

Right, and while mostly static_call_update() is used, whcih is a macro
and could possibly be used to wrap this, we very much rely on
__static_call_update() also working without that wrapper and then we're
up a creek without no paddles.