stack_trace_consume_fn has been changed to bool (*stack_trace_consume_fn)(void *cookie, struct frame_info *fi); to be able to pass more information. Turn to use pc in struct frame_info in arch_stack_walk callbacks without functinoal change. Signed-off-by: He Zhe <zhe.he@xxxxxxxxxxxxx> --- arch/s390/kernel/stacktrace.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/arch/s390/kernel/stacktrace.c b/arch/s390/kernel/stacktrace.c index 7ee455e8e3d5..66aa7da0d974 100644 --- a/arch/s390/kernel/stacktrace.c +++ b/arch/s390/kernel/stacktrace.c @@ -14,11 +14,11 @@ void arch_stack_walk(stack_trace_consume_fn consume_entry, void *cookie, struct task_struct *task, struct pt_regs *regs) { struct unwind_state state; - unsigned long addr; + struct frame_info fi; unwind_for_each_frame(&state, task, regs, 0) { - addr = unwind_get_return_address(&state); - if (!addr || !consume_entry(cookie, addr)) + fi.pc = unwind_get_return_address(&state); + if (!fi.pc || !consume_entry(cookie, &fi)) break; } } @@ -27,7 +27,7 @@ int arch_stack_walk_reliable(stack_trace_consume_fn consume_entry, void *cookie, struct task_struct *task) { struct unwind_state state; - unsigned long addr; + struct frame_info fi; unwind_for_each_frame(&state, task, NULL, 0) { if (state.stack_info.type != STACK_TYPE_TASK) @@ -36,8 +36,8 @@ int arch_stack_walk_reliable(stack_trace_consume_fn consume_entry, if (state.regs) return -EINVAL; - addr = unwind_get_return_address(&state); - if (!addr) + fi.pc = unwind_get_return_address(&state); + if (!fi.pc) return -EINVAL; #ifdef CONFIG_KPROBES @@ -49,7 +49,7 @@ int arch_stack_walk_reliable(stack_trace_consume_fn consume_entry, return -EINVAL; #endif - if (!consume_entry(cookie, addr)) + if (!consume_entry(cookie, &fi)) return -EINVAL; } -- 2.25.1