Commit fe4e09e7 authored by Matt Redfearn's avatar Matt Redfearn Committed by Ralf Baechle
Browse files

MIPS: traps: Fix output of show_stacktrace



Since commit 4bcc595c ("printk: reinstate KERN_CONT for printing
continuation lines") the output from show_stacktrace on MIPS has been
pretty unreadable due to the lack of KERN_CONT markers. Use pr_cont to
provide the appropriate markers & restore the expected output. Also
start a new line with printk such that the presence of timing
information does not interfere with output.

Signed-off-by: default avatarMatt Redfearn <matt.redfearn@imgtec.com>
Cc: Maciej W. Rozycki <macro@imgtec.com>
Cc: James Hogan <james.hogan@imgtec.com>
Cc: Paul Burton <paul.burton@imgtec.com>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/14430/


Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent bcf084de
Loading
Loading
Loading
Loading
+8 −6
Original line number Diff line number Diff line
@@ -174,22 +174,24 @@ static void show_stacktrace(struct task_struct *task,
	printk("Stack :");
	i = 0;
	while ((unsigned long) sp & (PAGE_SIZE - 1)) {
		if (i && ((i % (64 / field)) == 0))
			printk("\n	 ");
		if (i && ((i % (64 / field)) == 0)) {
			pr_cont("\n");
			printk("       ");
		}
		if (i > 39) {
			printk(" ...");
			pr_cont(" ...");
			break;
		}

		if (__get_user(stackdata, sp++)) {
			printk(" (Bad stack address)");
			pr_cont(" (Bad stack address)");
			break;
		}

		printk(" %0*lx", field, stackdata);
		pr_cont(" %0*lx", field, stackdata);
		i++;
	}
	printk("\n");
	pr_cont("\n");
	show_backtrace(task, regs);
}