[PATCH] ftrace: Allow WITH_ARGS flavour of graph tracer with shadow call stack
Mark Rutland
mark.rutland at arm.com
Mon Dec 12 02:36:23 PST 2022
On Fri, Dec 09, 2022 at 04:51:39PM -0500, Steven Rostedt wrote:
> On Fri, 9 Dec 2022 14:40:25 +0000
> Mark Rutland <mark.rutland at arm.com> wrote:
>
> > On Fri, Dec 09, 2022 at 03:34:02PM +0100, Ard Biesheuvel wrote:
> > > The recent switch on arm64 from DYNAMIC_FTRACE_WITH_REGS to
> > > DYNAMIC_FTRACE_WITH_ARGS failed to take into account that we currently
> > > require the former in order to allow the function graph tracer to be
> > > enabled in combination with shadow call stacks. This means that this is
> > > no longer permitted at all, in spite of the fact that either flavour of
> > > ftrace works perfectly fine in this combination.
> > >
> > > Given that arm64 is the only arch that implements shadow call stacks in
> > > the first place, let's update the condition to just reflect the arm64
> > > change. When other architectures adopt shadow call stack support, this
> > > can be revisited if needed.
> > >
> > > Signed-off-by: Ard Biesheuvel <ardb at kernel.org>
> >
> > My bad; sorry about this, and thanks for the fix!
> >
> > Acked-by: Mark Rutland <mark.rutland at arm.com>
> >
> > We should probably also add:
> >
> > Fixes: 26299b3f6ba26bfc ("ftrace: arm64: move from REGS to ARGS")
>
> Actually, I believe it is:
>
> Fixes: ddc9863e9e90 ("scs: Disable when function graph tracing is enabled")
Ah; it's slightly more subtle since these were on different branches that got
merged. Either's correct in its own branch, and the merge is where things went
wrong.
I think the overall least confusing thing is to bite the bullet and list both
REGS and ARGS, i.e.
depends on DYNAMIC_FTRACE_WITH_ARGS || DYNAMIC_FTRACE_WITH_REGS || !FUNCTION_GRAPH_TRACER
... and for the fixes tag have:
Fixes: ddc9863e9e90 ("scs: Disable when function graph tracing is enabled")
That way the commit is correct regardless of the REGS -> ARGS conversion, and
will work if backported independently.
Thanks,
Mark.
More information about the linux-arm-kernel
mailing list