alpha: fix formating of stack content
authorMikulas Patocka <mpatocka@redhat.com>
Tue, 2 Jan 2018 19:00:32 +0000 (14:00 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 16 Feb 2018 19:23:07 +0000 (20:23 +0100)
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

index 4bd99a7..f43bd05 100644 (file)
@@ -160,11 +160,16 @@ void show_stack(struct task_struct *task, unsigned long *sp)
        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);
 }