/* Since setuid only affects the current process, and since the SELinux controls are not based on the Linux identity attributes, SELinux does not need to control this operation. However, SELinux does control the use of the CAP_SETUID and CAP_SETGID capabilities using the capable hook.  */
static int selinux_capable(struct task_struct *tsk, const struct cred *cred, int cap, int audit)
/* Since setuid only affects the current process, and since the SELinux controls are not based on the Linux identity attributes, SELinux does not need to control this operation. However, SELinux does control the use of the CAP_SETUID and CAP_SETGID capabilities using the capable hook.  */
static int selinux_capable(struct task_struct *tsk, const struct cred *cred, int cap, int audit)
{
	int rc;
	rc = cap_capable(tsk, cred, cap, audit);
	if (rc)
		return rc;
	return task_has_capability(tsk, cred, cap, audit);
}