/* Let kernel threads use this to say that they allow a certain signal. Must not be used if kthread was cloned with CLONE_SIGHAND.  */
int allow_signal(int sig)
/* Let kernel threads use this to say that they allow a certain signal. Must not be used if kthread was cloned with CLONE_SIGHAND.  */
int allow_signal(int sig)
{
	if (!valid_signal(sig) || sig < 1)
		return -EINVAL;
	spin_lock_irq(&current->sighand->siglock);
	sigdelset(&current->blocked, sig);
	current->sighand->action[(sig)-1].sa.sa_handler = (void __user *)2;
	recalc_sigpending();
	spin_unlock_irq(&current->sighand->siglock);
	return 0;
}