Re: [PATCH 2/8] signal: make kill_as_cred_perm() return bool

From: Christian Brauner
Date: Mon May 28 2018 - 14:31:15 EST


On Mon, May 28, 2018 at 03:07:49PM +0100, Al Viro wrote:
> 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 <christian@xxxxxxxxxx>
> > ---
> > 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;

Added in v1.
There's a bunch more functions that should return bool and that can
similarly simplified which I'll send out in the next round.

Thanks!
Christian