|
@@ -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;
|