diff options
Diffstat (limited to 'arch/x86_64/kernel/stacktrace.c')
-rw-r--r-- | arch/x86_64/kernel/stacktrace.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/arch/x86_64/kernel/stacktrace.c b/arch/x86_64/kernel/stacktrace.c index 65ac2c6b34a6..cb9109113584 100644 --- a/arch/x86_64/kernel/stacktrace.c +++ b/arch/x86_64/kernel/stacktrace.c | |||
@@ -21,8 +21,7 @@ save_stack_warning_symbol(void *data, char *msg, unsigned long symbol) | |||
21 | 21 | ||
22 | static int save_stack_stack(void *data, char *name) | 22 | static int save_stack_stack(void *data, char *name) |
23 | { | 23 | { |
24 | struct stack_trace *trace = (struct stack_trace *)data; | 24 | return -1; |
25 | return trace->all_contexts ? 0 : -1; | ||
26 | } | 25 | } |
27 | 26 | ||
28 | static void save_stack_address(void *data, unsigned long addr) | 27 | static void save_stack_address(void *data, unsigned long addr) |
@@ -46,11 +45,10 @@ static struct stacktrace_ops save_stack_ops = { | |||
46 | /* | 45 | /* |
47 | * Save stack-backtrace addresses into a stack_trace buffer. | 46 | * Save stack-backtrace addresses into a stack_trace buffer. |
48 | */ | 47 | */ |
49 | void save_stack_trace(struct stack_trace *trace, struct task_struct *task) | 48 | void save_stack_trace(struct stack_trace *trace) |
50 | { | 49 | { |
51 | dump_trace(task, NULL, NULL, &save_stack_ops, trace); | 50 | dump_trace(current, NULL, NULL, &save_stack_ops, trace); |
52 | if (trace->nr_entries < trace->max_entries) | 51 | if (trace->nr_entries < trace->max_entries) |
53 | trace->entries[trace->nr_entries++] = ULONG_MAX; | 52 | trace->entries[trace->nr_entries++] = ULONG_MAX; |
54 | } | 53 | } |
55 | EXPORT_SYMBOL(save_stack_trace); | 54 | EXPORT_SYMBOL(save_stack_trace); |
56 | |||