diff options
Diffstat (limited to 'arch/x86/kernel/stacktrace.c')
| -rw-r--r-- | arch/x86/kernel/stacktrace.c | 9 | 
1 files changed, 8 insertions, 1 deletions
diff --git a/arch/x86/kernel/stacktrace.c b/arch/x86/kernel/stacktrace.c index f7bddc2e37d..c3eb207181f 100644 --- a/arch/x86/kernel/stacktrace.c +++ b/arch/x86/kernel/stacktrace.c @@ -20,7 +20,7 @@ save_stack_warning_symbol(void *data, char *msg, unsigned long symbol)  static int save_stack_stack(void *data, char *name)  { -	return -1; +	return 0;  }  static void save_stack_address(void *data, unsigned long addr, int reliable) @@ -77,6 +77,13 @@ void save_stack_trace(struct stack_trace *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)  {  	dump_trace(tsk, NULL, NULL, 0, &save_stack_ops_nosched, trace);  |