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.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/arch/x86/kernel/traps_64.c b/arch/x86/kernel/traps_64.c
index 814801f4eb9e..911ed28afff8 100644
--- a/arch/x86/kernel/traps_64.c
+++ b/arch/x86/kernel/traps_64.c
@@ -642,11 +642,14 @@ static void __kprobes do_trap(int trapnr, int signr, char *str,
642 tsk->thread.trap_no = trapnr; 642 tsk->thread.trap_no = trapnr;
643 643
644 if (show_unhandled_signals && unhandled_signal(tsk, signr) && 644 if (show_unhandled_signals && unhandled_signal(tsk, signr) &&
645 printk_ratelimit()) 645 printk_ratelimit()) {
646 printk(KERN_INFO 646 printk(KERN_INFO
647 "%s[%d] trap %s ip:%lx sp:%lx error:%lx\n", 647 "%s[%d] trap %s ip:%lx sp:%lx error:%lx",
648 tsk->comm, tsk->pid, str, 648 tsk->comm, tsk->pid, str,
649 regs->ip, regs->sp, error_code); 649 regs->ip, regs->sp, error_code);
650 print_vma_addr(" in ", regs->ip);
651 printk("\n");
652 }
650 653
651 if (info) 654 if (info)
652 force_sig_info(signr, info, tsk); 655 force_sig_info(signr, info, tsk);
@@ -741,11 +744,14 @@ asmlinkage void __kprobes do_general_protection(struct pt_regs * regs,
741 tsk->thread.trap_no = 13; 744 tsk->thread.trap_no = 13;
742 745
743 if (show_unhandled_signals && unhandled_signal(tsk, SIGSEGV) && 746 if (show_unhandled_signals && unhandled_signal(tsk, SIGSEGV) &&
744 printk_ratelimit()) 747 printk_ratelimit()) {
745 printk(KERN_INFO 748 printk(KERN_INFO
746 "%s[%d] general protection ip:%lx sp:%lx error:%lx\n", 749 "%s[%d] general protection ip:%lx sp:%lx error:%lx",
747 tsk->comm, tsk->pid, 750 tsk->comm, tsk->pid,
748 regs->ip, regs->sp, error_code); 751 regs->ip, regs->sp, error_code);
752 print_vma_addr(" in ", regs->ip);
753 printk("\n");
754 }
749 755
750 force_sig(SIGSEGV, tsk); 756 force_sig(SIGSEGV, tsk);
751 return; 757 return;