On Mon, 1 Aug 2016 10:59:03 -0500 Josh Poimboeuf <jpoim...@redhat.com> wrote:
> On Fri, Jul 29, 2016 at 06:55:21PM -0400, Steven Rostedt wrote: > > Here's my patch that should be applied on top. > > > > Maybe add a Signed-off-by: Steven Rostedt <rost...@goodmis.org> along > > with your SOB. But you should remain Author. > > [...] > > > @@ -123,13 +124,16 @@ print_context_stack_bp(struct task_struc > > > > while (valid_stack_ptr(task, ret_addr, sizeof(*ret_addr), end)) { > > unsigned long addr = *ret_addr; > > + unsigned long real_addr; > > > > if (!__kernel_text_address(addr)) > > break; > > > > - addr = ftrace_graph_ret_addr(task, graph, addr); > > - if (ops->address(data, addr, 1)) > > + real_addr = ftrace_graph_ret_addr(task, graph, addr); > > + if (ops->address(data, real_addr, 1)) > > break; > > + if (real_addr != addr) > > + ops->address(data, addr, 0); > > frame = frame->next_frame; > > ret_addr = &frame->return_address; > > } > > Actually this hunk isn't needed because all users of > print_context_stack_bp() only care about "reliable" addresses. With > frame pointers enabled, the only place "unreliable" addresses are used > is in show_trace_log_lvl() -- and it uses the print_context_stack() > callback. > > I rely on that fact in the new frame pointer unwind code: it only > reports reliable addresses. > Can you make this a separate patch then. Before this one, and explain why it isn't needed in the change log. I rather have the current patch not make such a change in logic. -- Steve