We need to pass the kernel stack pointer instead of the user space stack pointer in save_stack_trace_tsk().
Signed-off-by: Arnd Bergmann <[EMAIL PROTECTED]> On Wednesday 16 July 2008, Nathan Lynch wrote: > Arnd Bergmann wrote: > > Implement save_stack_trace_tsk on powerpc, so that we can run with > > latencytop. > > So I tried latencytop with linux-next and got the following oops, but > I didn't really look into it yet. Oh, I didn't even realize that benh had merged that patch of mine. As I wrote in the description, it was entirely untested. You found another obvious bug: The code was passing the user space stack pointer instead of the kernel stack pointer. Again, this patch is entirely untested, and I would not be at all surprised to find other trivial bugs. --- a/arch/powerpc/kernel/stacktrace.c +++ b/arch/powerpc/kernel/stacktrace.c @@ -59,6 +59,6 @@ EXPORT_SYMBOL_GPL(save_stack_trace); void save_stack_trace_tsk(struct task_struct *tsk, struct stack_trace *trace) { - save_context_stack(trace, tsk->thread.regs->gpr[1], tsk, 0); + save_context_stack(trace, tsk->thread.ksp, tsk, 0); } EXPORT_SYMBOL_GPL(save_stack_trace_tsk); _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev