arm64: pass a task parameter to unwind_frame()
Function graph tracer modifies a return address (LR) in a stack frame to hook a function's return. This will result in many useless entries (return_to_handler) showing up in a call stack list. We will fix this problem in a later patch ("arm64: ftrace: fix a stack tracer's output under function graph tracer"). But since real return addresses are saved in ret_stack[] array in struct task_struct, unwind functions need to be notified of, in addition to a stack pointer address, which task is being traced in order to find out real return addresses. This patch extends unwind functions' interfaces by adding an extra argument of a pointer to task_struct. Signed-off-by:AKASHI Takahiro <takahiro.akashi@linaro.org> Signed-off-by:
Will Deacon <will.deacon@arm.com>
Showing
- arch/arm64/include/asm/stacktrace.h 4 additions, 2 deletionsarch/arm64/include/asm/stacktrace.h
- arch/arm64/kernel/perf_callchain.c 1 addition, 1 deletionarch/arm64/kernel/perf_callchain.c
- arch/arm64/kernel/process.c 1 addition, 1 deletionarch/arm64/kernel/process.c
- arch/arm64/kernel/return_address.c 1 addition, 1 deletionarch/arm64/kernel/return_address.c
- arch/arm64/kernel/stacktrace.c 4 additions, 4 deletionsarch/arm64/kernel/stacktrace.c
- arch/arm64/kernel/time.c 1 addition, 1 deletionarch/arm64/kernel/time.c
- arch/arm64/kernel/traps.c 1 addition, 1 deletionarch/arm64/kernel/traps.c
Please register or sign in to comment