Re: [PATCH 05/19] x86/dumpstack: fix function graph tracing stack dump reliability issues

From: Steven Rostedt
Date: Fri Jul 29 2016 - 22:20:52 EST


On Fri, 29 Jul 2016 19:50:59 -0500
Josh Poimboeuf <jpoimboe@xxxxxxxxxx> wrote:

> BTW, it would be really nice if ftrace_graph_ret_addr() were idempotent
> so we could get the "real" return address without having to pass in a
> state variable.
>
> For example we could add an "unsigned long *retp" pointer to
> ftrace_ret_stack, which points to the return address on the stack. Then
> we could get rid of the index state variable in ftrace_graph_ret_addr,
> and also then there would never be a chance of the stack dump getting
> out of sync with the ret_stack.
>
> What do you think?
>

I don't want to extend ret_stack as that is allocated 50 of these
structures for every task. That said, we have the "fp" field that's
used to check for frame pointer corruption when mcount is used. With
CC_USING_FENTRY, that field is ignored. Perhaps we could overload that
field for this.

-- Steve