diff options
Diffstat (limited to 'arch/x86/kernel/traps_64.c')
-rw-r--r-- | arch/x86/kernel/traps_64.c | 14 |
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; |