Re: [PATCH] ftrace,kcfi: Separate ftrace_stub() and ftrace_stub_graph()

From: Mark Rutland
Date: Tue Oct 18 2022 - 09:27:07 EST


On Tue, Oct 18, 2022 at 03:18:46PM +0200, Peter Zijlstra wrote:
> On Tue, Oct 18, 2022 at 02:35:16PM +0200, Peter Zijlstra wrote:
> > --- a/include/asm-generic/vmlinux.lds.h
> > +++ b/include/asm-generic/vmlinux.lds.h
> > @@ -162,6 +162,16 @@
> > #define PATCHABLE_DISCARDS *(__patchable_function_entries)
> > #endif
> >
> > +#ifndef ARCH_SUPPORTS_CFI_CLANG
>
> #ifndef CONFIG_ARCH_..
>
> works much better as we found.
>
> > +/*
> > + * Simply points to ftrace_stub, but with the proper protocol.
> > + * Defined by the linker script in linux/vmlinux.lds.h
> > + */
> > +#define FTRACE_STUB_HACK ftrace_stub_graph = ftrace_stub;
> > +#else
> > +#define FTRACE_STUB_HACK
> > +#endif
>
> Fixed up version available at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git x86/urgent

Thanks for this!

I've just tested that branch, (HEAD commit 586edc9c16e747ce). With kCFI
enabled I can run the ftrace boot tests and ftrace selftests without
issues.

FWIW:

Reviewed-by: Mark Rutland <mark.rutland@xxxxxxx>
Tested-by: Mark Rutland <mark.rutland@xxxxxxx>

Mark.