| From 4b01abdb32fc36abe877503bfbd33019159fad71 Mon Sep 17 00:00:00 2001 |
| From: Mikulas Patocka <mpatocka@redhat.com> |
| Date: Tue, 2 Jan 2018 14:00:32 -0500 |
| Subject: alpha: fix formating of stack content |
| |
| From: Mikulas Patocka <mpatocka@redhat.com> |
| |
| commit 4b01abdb32fc36abe877503bfbd33019159fad71 upstream. |
| |
| Since version 4.9, the kernel automatically breaks printk calls into |
| multiple newlines unless pr_cont is used. Fix the alpha stacktrace code, |
| so that it prints stack trace in four columns, as it was initially |
| intended. |
| |
| Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> |
| Signed-off-by: Matt Turner <mattst88@gmail.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| arch/alpha/kernel/traps.c | 13 +++++++++---- |
| 1 file changed, 9 insertions(+), 4 deletions(-) |
| |
| --- a/arch/alpha/kernel/traps.c |
| +++ b/arch/alpha/kernel/traps.c |
| @@ -160,11 +160,16 @@ void show_stack(struct task_struct *task |
| for(i=0; i < kstack_depth_to_print; i++) { |
| if (((long) stack & (THREAD_SIZE-1)) == 0) |
| break; |
| - if (i && ((i % 4) == 0)) |
| - printk("\n "); |
| - printk("%016lx ", *stack++); |
| + if ((i % 4) == 0) { |
| + if (i) |
| + pr_cont("\n"); |
| + printk(" "); |
| + } else { |
| + pr_cont(" "); |
| + } |
| + pr_cont("%016lx", *stack++); |
| } |
| - printk("\n"); |
| + pr_cont("\n"); |
| dik_show_trace(sp); |
| } |
| |