diff options
Diffstat (limited to 'arch/x86_64/kernel')
-rw-r--r-- | arch/x86_64/kernel/signal.c | 2 | ||||
-rw-r--r-- | arch/x86_64/kernel/traps.c | 6 |
2 files changed, 5 insertions, 3 deletions
diff --git a/arch/x86_64/kernel/signal.c b/arch/x86_64/kernel/signal.c index 4886afcd6287..739175b01e06 100644 --- a/arch/x86_64/kernel/signal.c +++ b/arch/x86_64/kernel/signal.c | |||
@@ -487,7 +487,7 @@ do_notify_resume(struct pt_regs *regs, void *unused, __u32 thread_info_flags) | |||
487 | void signal_fault(struct pt_regs *regs, void __user *frame, char *where) | 487 | void signal_fault(struct pt_regs *regs, void __user *frame, char *where) |
488 | { | 488 | { |
489 | struct task_struct *me = current; | 489 | struct task_struct *me = current; |
490 | if (exception_trace) | 490 | if (show_unhandled_signals && printk_ratelimit()) |
491 | printk("%s[%d] bad frame in %s frame:%p rip:%lx rsp:%lx orax:%lx\n", | 491 | printk("%s[%d] bad frame in %s frame:%p rip:%lx rsp:%lx orax:%lx\n", |
492 | me->comm,me->pid,where,frame,regs->rip,regs->rsp,regs->orig_rax); | 492 | me->comm,me->pid,where,frame,regs->rip,regs->rsp,regs->orig_rax); |
493 | 493 | ||
diff --git a/arch/x86_64/kernel/traps.c b/arch/x86_64/kernel/traps.c index 8713ad4a4db1..03888420775d 100644 --- a/arch/x86_64/kernel/traps.c +++ b/arch/x86_64/kernel/traps.c | |||
@@ -584,7 +584,8 @@ static void __kprobes do_trap(int trapnr, int signr, char *str, | |||
584 | tsk->thread.error_code = error_code; | 584 | tsk->thread.error_code = error_code; |
585 | tsk->thread.trap_no = trapnr; | 585 | tsk->thread.trap_no = trapnr; |
586 | 586 | ||
587 | if (exception_trace && unhandled_signal(tsk, signr)) | 587 | if (show_unhandled_signals && unhandled_signal(tsk, signr) && |
588 | printk_ratelimit()) | ||
588 | printk(KERN_INFO | 589 | printk(KERN_INFO |
589 | "%s[%d] trap %s rip:%lx rsp:%lx error:%lx\n", | 590 | "%s[%d] trap %s rip:%lx rsp:%lx error:%lx\n", |
590 | tsk->comm, tsk->pid, str, | 591 | tsk->comm, tsk->pid, str, |
@@ -688,7 +689,8 @@ asmlinkage void __kprobes do_general_protection(struct pt_regs * regs, | |||
688 | tsk->thread.error_code = error_code; | 689 | tsk->thread.error_code = error_code; |
689 | tsk->thread.trap_no = 13; | 690 | tsk->thread.trap_no = 13; |
690 | 691 | ||
691 | if (exception_trace && unhandled_signal(tsk, SIGSEGV)) | 692 | if (show_unhandled_signals && unhandled_signal(tsk, SIGSEGV) && |
693 | printk_ratelimit()) | ||
692 | printk(KERN_INFO | 694 | printk(KERN_INFO |
693 | "%s[%d] general protection rip:%lx rsp:%lx error:%lx\n", | 695 | "%s[%d] general protection rip:%lx rsp:%lx error:%lx\n", |
694 | tsk->comm, tsk->pid, | 696 | tsk->comm, tsk->pid, |