Commit 811b93ff authored by Masami Hiramatsu's avatar Masami Hiramatsu Committed by Steven Rostedt (VMware)

x86/unwind: Compile kretprobe fixup code only if CONFIG_KRETPROBES=y

Compile kretprobe related stacktrace entry recovery code and
unwind_state::kr_cur field only when CONFIG_KRETPROBES=y.
Signed-off-by: default avatarMasami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
parent e44e81c5
...@@ -16,7 +16,9 @@ struct unwind_state { ...@@ -16,7 +16,9 @@ struct unwind_state {
unsigned long stack_mask; unsigned long stack_mask;
struct task_struct *task; struct task_struct *task;
int graph_idx; int graph_idx;
#ifdef CONFIG_KRETPROBES
struct llist_node *kr_cur; struct llist_node *kr_cur;
#endif
bool error; bool error;
#if defined(CONFIG_UNWINDER_ORC) #if defined(CONFIG_UNWINDER_ORC)
bool signal, full_regs; bool signal, full_regs;
...@@ -105,9 +107,13 @@ static inline ...@@ -105,9 +107,13 @@ static inline
unsigned long unwind_recover_kretprobe(struct unwind_state *state, unsigned long unwind_recover_kretprobe(struct unwind_state *state,
unsigned long addr, unsigned long *addr_p) unsigned long addr, unsigned long *addr_p)
{ {
#ifdef CONFIG_KRETPROBES
return is_kretprobe_trampoline(addr) ? return is_kretprobe_trampoline(addr) ?
kretprobe_find_ret_addr(state->task, addr_p, &state->kr_cur) : kretprobe_find_ret_addr(state->task, addr_p, &state->kr_cur) :
addr; addr;
#else
return addr;
#endif
} }
/* Recover the return address modified by kretprobe and ftrace_graph. */ /* Recover the return address modified by kretprobe and ftrace_graph. */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment