if ((!info || ((unsigned long)info != 1 && (unsigned long)info != 2 && SI_FROMUSER(info)))
if ((info == SEND_SIG_NOINFO || (info != SEND_SIG_PRIV && info != SEND_SIG_FORCED && SI_FROMUSER(info)))
static int check_kill_permission(int sig, struct siginfo *info,				 struct task_struct *t){	int error = -EINVAL;	if (!valid_signal(sig))		return error;	error = -EPERM;	if ((!info || ((unsigned long)info != 1 &&			(unsigned long)info != 2 && SI_FROMUSER(info)))	    && ((sig != SIGCONT) ||		(current->signal->session != t->signal->session))	    && (current->euid ^ t->suid) && (current->euid ^ t->uid)	    && (current->uid ^ t->suid) && (current->uid ^ t->uid)	    && !capable(CAP_KILL))		return error;	error = security_task_kill(t, info, sig);	if (!error)		audit_signal_info(sig, t); /* Let audit system see the signal */	return error;}