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

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

signal: Factor force_sig_info_to_task out of force_sig_info



All callers of force_sig_info pass info.si_signo in for the signal
by definition as well as in practice.

Further all callers of force_sig_info except force_sig_fault_to_task
pass current as the target task to force_sig_info.

Factor out a static force_sig_info_to_task that
force_sig_fault_to_task can call.

This prepares the way for force_sig_info to have it's task and signal
parameters removed.

Signed-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
parent ffafd23b
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -1294,12 +1294,13 @@ int do_send_sig_info(int sig, struct kernel_siginfo *info, struct task_struct *p
 * We don't want to have recursive SIGSEGV's etc, for example,
 * that is why we also clear SIGNAL_UNKILLABLE.
 */
int
force_sig_info(int sig, struct kernel_siginfo *info, struct task_struct *t)
static int
force_sig_info_to_task(struct kernel_siginfo *info, struct task_struct *t)
{
	unsigned long int flags;
	int ret, blocked, ignored;
	struct k_sigaction *action;
	int sig = info->si_signo;

	spin_lock_irqsave(&t->sighand->siglock, flags);
	action = &t->sighand->action[sig-1];
@@ -1324,6 +1325,11 @@ force_sig_info(int sig, struct kernel_siginfo *info, struct task_struct *t)
	return ret;
}

int force_sig_info(int sig, struct kernel_siginfo *info, struct task_struct *t)
{
	return force_sig_info_to_task(info, t);
}

/*
 * Nuke all other threads in the group.
 */
@@ -1656,7 +1662,7 @@ int force_sig_fault_to_task(int sig, int code, void __user *addr
	info.si_flags = flags;
	info.si_isr = isr;
#endif
	return force_sig_info(info.si_signo, &info, t);
	return force_sig_info_to_task(&info, t);
}

int force_sig_fault(int sig, int code, void __user *addr