|
@@ -823,8 +823,8 @@ static inline int legacy_queue(struct sigpending *signals, int sig)
|
|
|
return (sig < SIGRTMIN) && sigismember(&signals->signal, sig);
|
|
|
}
|
|
|
|
|
|
-static int send_signal(int sig, struct siginfo *info, struct task_struct *t,
|
|
|
- int group)
|
|
|
+static int __send_signal(int sig, struct siginfo *info, struct task_struct *t,
|
|
|
+ int group, int from_ancestor_ns)
|
|
|
{
|
|
|
struct sigpending *pending;
|
|
|
struct sigqueue *q;
|
|
@@ -899,6 +899,12 @@ out_set:
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+static int send_signal(int sig, struct siginfo *info, struct task_struct *t,
|
|
|
+ int group)
|
|
|
+{
|
|
|
+ return __send_signal(sig, info, t, group, 0);
|
|
|
+}
|
|
|
+
|
|
|
int print_fatal_signals;
|
|
|
|
|
|
static void print_fatal_signal(struct pt_regs *regs, int signr)
|
|
@@ -1143,7 +1149,7 @@ int kill_pid_info_as_uid(int sig, struct siginfo *info, struct pid *pid,
|
|
|
if (sig && p->sighand) {
|
|
|
unsigned long flags;
|
|
|
spin_lock_irqsave(&p->sighand->siglock, flags);
|
|
|
- ret = __group_send_sig_info(sig, info, p);
|
|
|
+ ret = __send_signal(sig, info, p, 1, 0);
|
|
|
spin_unlock_irqrestore(&p->sighand->siglock, flags);
|
|
|
}
|
|
|
out_unlock:
|