diff options
Diffstat (limited to 'kernel/signal.c')
-rw-r--r-- | kernel/signal.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/kernel/signal.c b/kernel/signal.c index 06ff7764ab7c..113411bfe8b1 100644 --- a/kernel/signal.c +++ b/kernel/signal.c | |||
@@ -855,12 +855,14 @@ static void ptrace_trap_notify(struct task_struct *t) | |||
855 | * Returns true if the signal should be actually delivered, otherwise | 855 | * Returns true if the signal should be actually delivered, otherwise |
856 | * it should be dropped. | 856 | * it should be dropped. |
857 | */ | 857 | */ |
858 | static int prepare_signal(int sig, struct task_struct *p, bool force) | 858 | static bool prepare_signal(int sig, struct task_struct *p, bool force) |
859 | { | 859 | { |
860 | struct signal_struct *signal = p->signal; | 860 | struct signal_struct *signal = p->signal; |
861 | struct task_struct *t; | 861 | struct task_struct *t; |
862 | 862 | ||
863 | if (unlikely(signal->flags & SIGNAL_GROUP_EXIT)) { | 863 | if (signal->flags & (SIGNAL_GROUP_EXIT | SIGNAL_GROUP_COREDUMP)) { |
864 | if (signal->flags & SIGNAL_GROUP_COREDUMP) | ||
865 | return sig == SIGKILL; | ||
864 | /* | 866 | /* |
865 | * The process is in the middle of dying, nothing to do. | 867 | * The process is in the middle of dying, nothing to do. |
866 | */ | 868 | */ |
@@ -1161,8 +1163,7 @@ static int send_signal(int sig, struct siginfo *info, struct task_struct *t, | |||
1161 | static void print_fatal_signal(int signr) | 1163 | static void print_fatal_signal(int signr) |
1162 | { | 1164 | { |
1163 | struct pt_regs *regs = signal_pt_regs(); | 1165 | struct pt_regs *regs = signal_pt_regs(); |
1164 | printk(KERN_INFO "%s/%d: potentially unexpected fatal signal %d.\n", | 1166 | printk(KERN_INFO "potentially unexpected fatal signal %d.\n", signr); |
1165 | current->comm, task_pid_nr(current), signr); | ||
1166 | 1167 | ||
1167 | #if defined(__i386__) && !defined(__arch_um__) | 1168 | #if defined(__i386__) && !defined(__arch_um__) |
1168 | printk(KERN_INFO "code at %08lx: ", regs->ip); | 1169 | printk(KERN_INFO "code at %08lx: ", regs->ip); |