On Mon, May 28, 2018 at 03:49:10PM +0200, Christian Brauner wrote:
> kill_as_cred_perm() already behaves like a boolean function. Let's actually
> declare it as such too.
>
> Signed-off-by: Christian Brauner <[email protected]>
> ---
> kernel/signal.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/kernel/signal.c b/kernel/signal.c
> index c756008d589e..81be01d193f4 100644
> --- a/kernel/signal.c
> +++ b/kernel/signal.c
> @@ -1349,14 +1349,15 @@ static int kill_proc_info(int sig, struct siginfo
> *info, pid_t pid)
> return error;
> }
>
> -static int kill_as_cred_perm(const struct cred *cred,
> +static bool kill_as_cred_perm(const struct cred *cred,
> struct task_struct *target)
> {
> const struct cred *pcred = __task_cred(target);
> if (!uid_eq(cred->euid, pcred->suid) && !uid_eq(cred->euid, pcred->uid)
> &&
> !uid_eq(cred->uid, pcred->suid) && !uid_eq(cred->uid, pcred->uid))
> - return 0;
> - return 1;
> + return false;
> +
> + return true;
Ugh...
if (!foo && !bar && !baz && !quux)
return false;
return true;
is a bloody odd way to spell
return foo || bar || baz || quux;