diff options
Diffstat (limited to 'arch/s390/kernel/stacktrace.c')
-rw-r--r-- | arch/s390/kernel/stacktrace.c | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/arch/s390/kernel/stacktrace.c b/arch/s390/kernel/stacktrace.c index 2e5c65a1863e..515ff9011dd7 100644 --- a/arch/s390/kernel/stacktrace.c +++ b/arch/s390/kernel/stacktrace.c | |||
@@ -59,7 +59,7 @@ static unsigned long save_context_stack(struct stack_trace *trace, | |||
59 | } | 59 | } |
60 | } | 60 | } |
61 | 61 | ||
62 | void save_stack_trace(struct stack_trace *trace, struct task_struct *task) | 62 | void save_stack_trace(struct stack_trace *trace) |
63 | { | 63 | { |
64 | register unsigned long sp asm ("15"); | 64 | register unsigned long sp asm ("15"); |
65 | unsigned long orig_sp, new_sp; | 65 | unsigned long orig_sp, new_sp; |
@@ -69,20 +69,16 @@ void save_stack_trace(struct stack_trace *trace, struct task_struct *task) | |||
69 | new_sp = save_context_stack(trace, &trace->skip, orig_sp, | 69 | new_sp = save_context_stack(trace, &trace->skip, orig_sp, |
70 | S390_lowcore.panic_stack - PAGE_SIZE, | 70 | S390_lowcore.panic_stack - PAGE_SIZE, |
71 | S390_lowcore.panic_stack); | 71 | S390_lowcore.panic_stack); |
72 | if ((new_sp != orig_sp) && !trace->all_contexts) | 72 | if (new_sp != orig_sp) |
73 | return; | 73 | return; |
74 | new_sp = save_context_stack(trace, &trace->skip, new_sp, | 74 | new_sp = save_context_stack(trace, &trace->skip, new_sp, |
75 | S390_lowcore.async_stack - ASYNC_SIZE, | 75 | S390_lowcore.async_stack - ASYNC_SIZE, |
76 | S390_lowcore.async_stack); | 76 | S390_lowcore.async_stack); |
77 | if ((new_sp != orig_sp) && !trace->all_contexts) | 77 | if (new_sp != orig_sp) |
78 | return; | 78 | return; |
79 | if (task) | 79 | |
80 | save_context_stack(trace, &trace->skip, new_sp, | 80 | save_context_stack(trace, &trace->skip, new_sp, |
81 | (unsigned long) task_stack_page(task), | 81 | S390_lowcore.thread_info, |
82 | (unsigned long) task_stack_page(task) + THREAD_SIZE); | 82 | S390_lowcore.thread_info + THREAD_SIZE); |
83 | else | ||
84 | save_context_stack(trace, &trace->skip, new_sp, | ||
85 | S390_lowcore.thread_info, | ||
86 | S390_lowcore.thread_info + THREAD_SIZE); | ||
87 | return; | 83 | return; |
88 | } | 84 | } |