x86/dumpstack: Fix printk_address for direct addresses
[firefly-linux-kernel-4.4.55.git] / arch / x86 / kernel / dumpstack.c
index deb6421c9e69d6cae32422e99fd6b77477762707..d9c12d3022a70c68e3f69d4cf2d68bdc10123010 100644 (file)
@@ -25,12 +25,17 @@ unsigned int code_bytes = 64;
 int kstack_depth_to_print = 3 * STACKSLOTS_PER_LINE;
 static int die_counter;
 
-void printk_address(unsigned long address, int reliable)
+static void printk_stack_address(unsigned long address, int reliable)
 {
        pr_cont(" [<%p>] %s%pB\n",
                (void *)address, reliable ? "" : "? ", (void *)address);
 }
 
+void printk_address(unsigned long address)
+{
+       pr_cont(" [<%p>] %pS\n", (void *)address, (void *)address);
+}
+
 #ifdef CONFIG_FUNCTION_GRAPH_TRACER
 static void
 print_ftrace_graph_addr(unsigned long addr, void *data,
@@ -151,7 +156,7 @@ static void print_trace_address(void *data, unsigned long addr, int reliable)
 {
        touch_nmi_watchdog();
        printk(data);
-       printk_address(addr, reliable);
+       printk_stack_address(addr, reliable);
 }
 
 static const struct stacktrace_ops print_trace_ops = {
@@ -281,7 +286,7 @@ int __kprobes __die(const char *str, struct pt_regs *regs, long err)
 #else
        /* Executive summary in case the oops scrolled away */
        printk(KERN_ALERT "RIP ");
-       printk_address(regs->ip, 1);
+       printk_address(regs->ip);
        printk(" RSP <%016lx>\n", regs->sp);
 #endif
        return 0;