aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/dumpstack.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2015-03-03 06:14:58 -0500
committerIngo Molnar <mingo@kernel.org>2015-03-03 06:14:58 -0500
commit6d4d1984df1ca6347414b9d8fa4783f548ee4cc8 (patch)
tree15a468837419933caeec8d8ba2009e081c15c866 /arch/x86/kernel/dumpstack.c
parent023a6007a08d342b64895a7342e426d12d9627dd (diff)
parent04769ae3ac72f86324a189b69f53bf3bfb61acfd (diff)
Merge tag 'tip_x86_kernel' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp into x86/debug
Pull x86 debugging updates from Borislav Petkov: "Two small fixes to the stack dumper, a cleanup and sustaining the previous log level after a newline. (Adrien Schildknecht)" Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/x86/kernel/dumpstack.c')
-rw-r--r--arch/x86/kernel/dumpstack.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/arch/x86/kernel/dumpstack.c b/arch/x86/kernel/dumpstack.c
index cf3df1d8d039..81b3932edbdc 100644
--- a/arch/x86/kernel/dumpstack.c
+++ b/arch/x86/kernel/dumpstack.c
@@ -25,10 +25,12 @@ unsigned int code_bytes = 64;
25int kstack_depth_to_print = 3 * STACKSLOTS_PER_LINE; 25int kstack_depth_to_print = 3 * STACKSLOTS_PER_LINE;
26static int die_counter; 26static int die_counter;
27 27
28static void printk_stack_address(unsigned long address, int reliable) 28static void printk_stack_address(unsigned long address, int reliable,
29 void *data)
29{ 30{
30 pr_cont(" [<%p>] %s%pB\n", 31 printk("%s [<%p>] %s%pB\n",
31 (void *)address, reliable ? "" : "? ", (void *)address); 32 (char *)data, (void *)address, reliable ? "" : "? ",
33 (void *)address);
32} 34}
33 35
34void printk_address(unsigned long address) 36void printk_address(unsigned long address)
@@ -155,8 +157,7 @@ static int print_trace_stack(void *data, char *name)
155static void print_trace_address(void *data, unsigned long addr, int reliable) 157static void print_trace_address(void *data, unsigned long addr, int reliable)
156{ 158{
157 touch_nmi_watchdog(); 159 touch_nmi_watchdog();
158 printk(data); 160 printk_stack_address(addr, reliable, data);
159 printk_stack_address(addr, reliable);
160} 161}
161 162
162static const struct stacktrace_ops print_trace_ops = { 163static const struct stacktrace_ops print_trace_ops = {