Re: [PATCH] arm64: ftrace: function_graph: dump real return addr in call trace

From: Arnd Bergmann
Date: Thu Oct 15 2015 - 08:46:28 EST


On Thursday 15 October 2015 20:12:35 Li Bin wrote:
>
> +#ifdef CONFIG_FUNCTION_GRAPH_TRACER
> +static void print_ftrace_graph_addr(unsigned long addr,
> + struct task_struct *tsk,
> + unsigned long sp, int *graph)
> +{
> + unsigned long ret_addr;
> + int index = tsk->curr_ret_stack;
> +
> + if (addr != ((unsigned long)return_to_handler - 4))
> + return;
> +
> + if (!tsk->ret_stack || index < *graph)
>

I think it would be nicer to remove the #ifdef and write this as

static void print_ftrace_graph_addr(unsigned long addr,
struct task_struct *tsk,
unsigned long sp, int *graph)
{
unsigned long ret_addr;
int index = tsk->curr_ret_stack;

if (!IS_ENABLED(CONFIG_FUNCTION_GRAPH_TRACER))
return;

if (addr != ((unsigned long)return_to_handler - 4))
return;

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/