aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/traps_64.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel/traps_64.c')
-rw-r--r--arch/x86/kernel/traps_64.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/x86/kernel/traps_64.c b/arch/x86/kernel/traps_64.c
index 4a6bd4965f56..d11525ad81b4 100644
--- a/arch/x86/kernel/traps_64.c
+++ b/arch/x86/kernel/traps_64.c
@@ -31,6 +31,7 @@
31#include <linux/uaccess.h> 31#include <linux/uaccess.h>
32#include <linux/bug.h> 32#include <linux/bug.h>
33#include <linux/kdebug.h> 33#include <linux/kdebug.h>
34#include <linux/utsname.h>
34 35
35#if defined(CONFIG_EDAC) 36#if defined(CONFIG_EDAC)
36#include <linux/edac.h> 37#include <linux/edac.h>
@@ -400,6 +401,12 @@ void show_stack(struct task_struct *tsk, unsigned long * rsp)
400void dump_stack(void) 401void dump_stack(void)
401{ 402{
402 unsigned long dummy; 403 unsigned long dummy;
404
405 printk("Pid: %d, comm: %.20s %s %s %.*s\n",
406 current->pid, current->comm, print_tainted(),
407 init_utsname()->release,
408 (int)strcspn(init_utsname()->version, " "),
409 init_utsname()->version);
403 show_trace(NULL, NULL, &dummy); 410 show_trace(NULL, NULL, &dummy);
404} 411}
405 412
@@ -846,6 +853,8 @@ asmlinkage void __kprobes do_debug(struct pt_regs * regs,
846 struct task_struct *tsk = current; 853 struct task_struct *tsk = current;
847 siginfo_t info; 854 siginfo_t info;
848 855
856 trace_hardirqs_fixup();
857
849 get_debugreg(condition, 6); 858 get_debugreg(condition, 6);
850 859
851 if (notify_die(DIE_DEBUG, "debug", regs, condition, error_code, 860 if (notify_die(DIE_DEBUG, "debug", regs, condition, error_code,