aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/dumpstack_32.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel/dumpstack_32.c')
-rw-r--r--arch/x86/kernel/dumpstack_32.c33
1 files changed, 1 insertions, 32 deletions
diff --git a/arch/x86/kernel/dumpstack_32.c b/arch/x86/kernel/dumpstack_32.c
index 06eb322b5f9f..90cf460d50bd 100644
--- a/arch/x86/kernel/dumpstack_32.c
+++ b/arch/x86/kernel/dumpstack_32.c
@@ -121,36 +121,6 @@ unknown:
121 return -EINVAL; 121 return -EINVAL;
122} 122}
123 123
124void show_stack_log_lvl(struct task_struct *task, struct pt_regs *regs,
125 unsigned long *sp, char *log_lvl)
126{
127 unsigned long *stack;
128 int i;
129
130 if (!try_get_task_stack(task))
131 return;
132
133 sp = sp ? : get_stack_pointer(task, regs);
134
135 stack = sp;
136 for (i = 0; i < kstack_depth_to_print; i++) {
137 if (kstack_end(stack))
138 break;
139 if ((i % STACKSLOTS_PER_LINE) == 0) {
140 if (i != 0)
141 pr_cont("\n");
142 printk("%s %08lx", log_lvl, *stack++);
143 } else
144 pr_cont(" %08lx", *stack++);
145 touch_nmi_watchdog();
146 }
147 pr_cont("\n");
148 show_trace_log_lvl(task, regs, sp, log_lvl);
149
150 put_task_stack(task);
151}
152
153
154void show_regs(struct pt_regs *regs) 124void show_regs(struct pt_regs *regs)
155{ 125{
156 int i; 126 int i;
@@ -168,8 +138,7 @@ void show_regs(struct pt_regs *regs)
168 unsigned char c; 138 unsigned char c;
169 u8 *ip; 139 u8 *ip;
170 140
171 pr_emerg("Stack:\n"); 141 show_trace_log_lvl(current, regs, NULL, KERN_EMERG);
172 show_stack_log_lvl(current, regs, NULL, KERN_EMERG);
173 142
174 pr_emerg("Code:"); 143 pr_emerg("Code:");
175 144