|
@@ -717,21 +717,16 @@ static inline bool si_fromuser(const struct siginfo *info)
|
|
|
/*
|
|
|
* called with RCU read lock from check_kill_permission()
|
|
|
*/
|
|
|
-static int kill_ok_by_cred(struct task_struct *t)
|
|
|
+static bool kill_ok_by_cred(struct task_struct *t)
|
|
|
{
|
|
|
const struct cred *cred = current_cred();
|
|
|
const struct cred *tcred = __task_cred(t);
|
|
|
|
|
|
- if (uid_eq(cred->euid, tcred->suid) ||
|
|
|
- uid_eq(cred->euid, tcred->uid) ||
|
|
|
- uid_eq(cred->uid, tcred->suid) ||
|
|
|
- uid_eq(cred->uid, tcred->uid))
|
|
|
- return 1;
|
|
|
-
|
|
|
- if (ns_capable(tcred->user_ns, CAP_KILL))
|
|
|
- return 1;
|
|
|
-
|
|
|
- return 0;
|
|
|
+ return uid_eq(cred->euid, tcred->suid) ||
|
|
|
+ uid_eq(cred->euid, tcred->uid) ||
|
|
|
+ uid_eq(cred->uid, tcred->suid) ||
|
|
|
+ uid_eq(cred->uid, tcred->uid) ||
|
|
|
+ ns_capable(tcred->user_ns, CAP_KILL);
|
|
|
}
|
|
|
|
|
|
/*
|