diff mbox series

parisc: select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY

Message ID 20210224205938.4104543-1-samitolvanen@google.com (mailing list archive)
State Superseded
Headers show
Series parisc: select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY | expand

Commit Message

Sami Tolvanen Feb. 24, 2021, 8:59 p.m. UTC
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@roeck-us.net>
Fixes: 3b15cdc15956 ("tracing: move function tracer options to Kconfig")
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
---
 arch/parisc/Kconfig | 1 +
 1 file changed, 1 insertion(+)


base-commit: 719bbd4a509f403f537adcaefd8ce17532be2e84

Comments

Kees Cook Feb. 24, 2021, 9:02 p.m. UTC | #1
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@roeck-us.net>
> Fixes: 3b15cdc15956 ("tracing: move function tracer options to Kconfig")
> Signed-off-by: Sami Tolvanen <samitolvanen@google.com>

I've got parisc building now, and can confirm:

Tested-by: Kees Cook <keescook@chromium.org>

Guenter, does this fix it for you too?

-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
>
Guenter Roeck Feb. 24, 2021, 10:46 p.m. UTC | #2
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@roeck-us.net>
> > Fixes: 3b15cdc15956 ("tracing: move function tracer options to Kconfig")
> > Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
> 
> I've got parisc building now, and can confirm:
> 
> Tested-by: Kees Cook <keescook@chromium.org>
> 
> 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_)

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
Sami Tolvanen Feb. 24, 2021, 10:53 p.m. UTC | #3
On Wed, Feb 24, 2021 at 2:46 PM Guenter Roeck <linux@roeck-us.net> 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@roeck-us.net>
> > > Fixes: 3b15cdc15956 ("tracing: move function tracer options to Kconfig")
> > > Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
> >
> > I've got parisc building now, and can confirm:
> >
> > Tested-by: Kees Cook <keescook@chromium.org>
> >
> > 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_)

Ah, it depends on FTRACE_MCOUNT_RECORD. Thanks for testing. I'll send v2.

Sami
Kees Cook Feb. 24, 2021, 10:54 p.m. UTC | #4
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@roeck-us.net>
> > > Fixes: 3b15cdc15956 ("tracing: move function tracer options to Kconfig")
> > > Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
> > 
> > I've got parisc building now, and can confirm:
> > 
> > Tested-by: Kees Cook <keescook@chromium.org>
> > 
> > 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
diff mbox series

Patch

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