|
@@ -77,6 +77,13 @@ void save_stack_trace(struct stack_trace *trace)
|
|
}
|
|
}
|
|
EXPORT_SYMBOL_GPL(save_stack_trace);
|
|
EXPORT_SYMBOL_GPL(save_stack_trace);
|
|
|
|
|
|
|
|
+void save_stack_trace_bp(struct stack_trace *trace, unsigned long bp)
|
|
|
|
+{
|
|
|
|
+ dump_trace(current, NULL, NULL, bp, &save_stack_ops, trace);
|
|
|
|
+ if (trace->nr_entries < trace->max_entries)
|
|
|
|
+ trace->entries[trace->nr_entries++] = ULONG_MAX;
|
|
|
|
+}
|
|
|
|
+
|
|
void save_stack_trace_tsk(struct task_struct *tsk, struct stack_trace *trace)
|
|
void save_stack_trace_tsk(struct task_struct *tsk, struct stack_trace *trace)
|
|
{
|
|
{
|
|
dump_trace(tsk, NULL, NULL, 0, &save_stack_ops_nosched, trace);
|
|
dump_trace(tsk, NULL, NULL, 0, &save_stack_ops_nosched, trace);
|