[PATCH] um: Fix _print_addr()

From: Richard Weinberger
Date: Sun Mar 12 2017 - 06:15:01 EST


Recent changes to printk() broke UML's stack trace
output. Kill the root of the problem by using a single
printk() statement.

Fixes: 4bcc595ccd80decb ("printk: reinstate KERN_CONT for printing
continuation lines")
Cc: stable@xxxxxxxxxxxxxxx
Cc: Vegard Nossum <vegard.nossum@xxxxxxxxxx>
Tested-by: Vegard Nossum <vegard.nossum@xxxxxxxxxx>
Reported-by: Vegard Nossum <vegard.nossum@xxxxxxxxxx>
Signed-off-by: Richard Weinberger <richard@xxxxxx>

---
arch/um/kernel/sysrq.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/arch/um/kernel/sysrq.c b/arch/um/kernel/sysrq.c
index a76295f7ede9..961be4a51511 100644
--- a/arch/um/kernel/sysrq.c
+++ b/arch/um/kernel/sysrq.c
@@ -20,10 +20,8 @@

static void _print_addr(void *data, unsigned long address, int reliable)
{
- pr_info(" [<%08lx>]", address);
- pr_cont(" %s", reliable ? "" : "? ");
- print_symbol("%s", address);
- pr_cont("\n");
+ pr_info(" [<%08lx>] %s%pB\n", address, reliable ? "" : "? ",
+ (void *)address);
}

static const struct stacktrace_ops stackops = {
--
2.10.2