On Fri, Jan 29, 2016 at 10:50:28AM +0530, Pratyush Anand wrote: > Implement save_stack_trace_regs, so that stacktrace of a kprobe events can > be obtained. > > Without this we see following warning: > "save_stack_trace_regs() not implemented yet." > when we execute: > echo stacktrace > /sys/kernel/debug/tracing/trace_options > echo "p kfree" >> /sys/kernel/debug/tracing/kprobe_events > echo 1 > /sys/kernel/debug/tracing/events/kprobes/enable > > Reported-by: Chunyu Hu <chuhu@xxxxxxxxxx> > Signed-off-by: Pratyush Anand <panand@xxxxxxxxxx> > --- > arch/s390/kernel/stacktrace.c | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/arch/s390/kernel/stacktrace.c b/arch/s390/kernel/stacktrace.c > index 1785cd82253c..586da400f931 100644 > --- a/arch/s390/kernel/stacktrace.c > +++ b/arch/s390/kernel/stacktrace.c > @@ -94,3 +94,16 @@ void save_stack_trace_tsk(struct task_struct *tsk, struct stack_trace *trace) > trace->entries[trace->nr_entries++] = ULONG_MAX; > } > EXPORT_SYMBOL_GPL(save_stack_trace_tsk); > + > +void save_stack_trace_regs(struct pt_regs *regs, struct stack_trace *trace) > +{ > + unsigned long sp, low, high; > + > + sp = kernel_stack_pointer(regs); > + low = (unsigned long) task_stack_page(current); > + high = (unsigned long) task_pt_regs(current); > + save_context_stack(trace, sp, low, high, 0); > + if (trace->nr_entries < trace->max_entries) > + trace->entries[trace->nr_entries++] = ULONG_MAX; > +} > +EXPORT_SYMBOL_GPL(save_stack_trace_regs); Thanks. I just figured out that the ftrace stack tracer doesn't work at all anymore on s390. I will apply your patch after I fixed that. ;) -- To unsubscribe from this list: send the line "unsubscribe linux-s390" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html