Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b213984b authored by Eric W. Biederman's avatar Eric W. Biederman
Browse files

signal: Push pid type down into send_signal



This information is already available in the callers and by pushing it
down it makes the code a little clearer, and allows better group
signal behavior in fork.

Signed-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
parent 40b3b025
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -1103,7 +1103,7 @@ static int __send_signal(int sig, struct siginfo *info, struct task_struct *t,
}

static int send_signal(int sig, struct siginfo *info, struct task_struct *t,
			int group)
			enum pid_type type)
{
	int from_ancestor_ns = 0;

@@ -1112,7 +1112,7 @@ static int send_signal(int sig, struct siginfo *info, struct task_struct *t,
			   !task_pid_nr_ns(current, task_active_pid_ns(t));
#endif

	return __send_signal(sig, info, t, group, from_ancestor_ns);
	return __send_signal(sig, info, t, type != PIDTYPE_PID, from_ancestor_ns);
}

static void print_fatal_signal(int signr)
@@ -1151,13 +1151,13 @@ __setup("print-fatal-signals=", setup_print_fatal_signals);
int
__group_send_sig_info(int sig, struct siginfo *info, struct task_struct *p)
{
	return send_signal(sig, info, p, 1);
	return send_signal(sig, info, p, PIDTYPE_TGID);
}

static int
specific_send_sig_info(int sig, struct siginfo *info, struct task_struct *t)
{
	return send_signal(sig, info, t, 0);
	return send_signal(sig, info, t, PIDTYPE_PID);
}

int do_send_sig_info(int sig, struct siginfo *info, struct task_struct *p,
@@ -1167,7 +1167,7 @@ int do_send_sig_info(int sig, struct siginfo *info, struct task_struct *p,
	int ret = -ESRCH;

	if (lock_task_sighand(p, &flags)) {
		ret = send_signal(sig, info, p, type != PIDTYPE_PID);
		ret = send_signal(sig, info, p, type);
		unlock_task_sighand(p, &flags);
	}

@@ -3966,7 +3966,7 @@ void kdb_send_sig(struct task_struct *t, int sig)
			   "the deadlock.\n");
		return;
	}
	ret = send_signal(sig, SEND_SIG_PRIV, t, false);
	ret = send_signal(sig, SEND_SIG_PRIV, t, PIDTYPE_PID);
	spin_unlock(&t->sighand->siglock);
	if (ret)
		kdb_printf("Fail to deliver Signal %d to process %d.\n",