Re: [PATCH] netlink: Don't shift on 64 for ngroups

From: Dmitry Safonov
Date: Sat Aug 04 2018 - 20:37:15 EST


On Sat, 2018-08-04 at 17:08 -0700, David Miller wrote:
> From: Dmitry Safonov <dima@xxxxxxxxxx>
> Date: Sun, 5 Aug 2018 00:55:44 +0100
>
> > @@ -1011,8 +1011,8 @@ static int netlink_bind(struct socket *sock,
> struct sockaddr *addr,
> >
> > if (nlk->ngroups == 0)
> > groups = 0;
> > - else
> > - groups &= (1ULL << nlk->ngroups) - 1;
> > + else if (nlk->ngroups < sizeof(long unsigned int))
> > + groups &= (1UL << nlk->ngroups) - 1;
>
> Sizeof is in bytes, you want to compare against bits.

I'm too bad. Drop this version, please.
I've resent v2.