Re: [PATCH] parisc: select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY

From: Kees Cook
Date: Wed Feb 24 2021 - 17:55:50 EST


On Wed, Feb 24, 2021 at 02:46:34PM -0800, Guenter Roeck wrote:
> On Wed, Feb 24, 2021 at 01:02:27PM -0800, Kees Cook wrote:
> > On Wed, Feb 24, 2021 at 12:59:38PM -0800, Sami Tolvanen wrote:
> > > parisc uses -fpatchable-function-entry with dynamic ftrace, which means we
> > > don't need recordmcount. Select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY
> > > to tell that to the build system.
> > >
> > > Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx>
> > > Fixes: 3b15cdc15956 ("tracing: move function tracer options to Kconfig")
> > > Signed-off-by: Sami Tolvanen <samitolvanen@xxxxxxxxxx>
> >
> > I've got parisc building now, and can confirm:
> >
> > Tested-by: Kees Cook <keescook@xxxxxxxxxxxx>
> >
> > Guenter, does this fix it for you too?
> >
>
> I get this:
>
> WARNING: unmet direct dependencies detected for FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY
> Depends on [n]: TRACING_SUPPORT [=y] && FTRACE [=y] && FTRACE_MCOUNT_RECORD [=n]
> Selected by [y]:
> - PARISC [=y] && HAVE_DYNAMIC_FTRACE [=y]
>
> when trying to build parisc:defconfig.
>
> I think it should be
>
> select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY if DYNAMIC_FTRACE
>
> (no HAVE_)

Yeah, that works for me with both defconfig and allmodconfig. (And that
more closely matches what's done for arm64.)

-Kees

>
> Guenter
>
> > -Kees
> >
> > > ---
> > > arch/parisc/Kconfig | 1 +
> > > 1 file changed, 1 insertion(+)
> > >
> > > diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig
> > > index ecef9aff9d72..9ee806f68123 100644
> > > --- a/arch/parisc/Kconfig
> > > +++ b/arch/parisc/Kconfig
> > > @@ -60,6 +60,7 @@ config PARISC
> > > select HAVE_KPROBES
> > > select HAVE_KRETPROBES
> > > select HAVE_DYNAMIC_FTRACE if $(cc-option,-fpatchable-function-entry=1,1)
> > > + select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY if HAVE_DYNAMIC_FTRACE
> > > select HAVE_FTRACE_MCOUNT_RECORD if HAVE_DYNAMIC_FTRACE
> > > select HAVE_KPROBES_ON_FTRACE
> > > select HAVE_DYNAMIC_FTRACE_WITH_REGS
> > >
> > > base-commit: 719bbd4a509f403f537adcaefd8ce17532be2e84
> > > --
> > > 2.30.0.617.g56c4b15f3c-goog
> > >
> >
> > --
> > Kees Cook

--
Kees Cook