Re: [PATCH 4.4 106/124] netlink: Do not subscribe to non-existent groups

From: Dmitry Safonov
Date: Sat Aug 04 2018 - 19:26:44 EST


On Sat, 2018-08-04 at 16:21 -0700, Nathan Chancellor wrote:
> On Sun, Aug 05, 2018 at 12:12:02AM +0100, Dmitry Safonov wrote:
> > On Sat, 2018-08-04 at 15:49 -0700, Nathan Chancellor wrote:
> > > dmesg output attached, please let me know if you need anything
> > > else.
> >
> > Could you try with this diff instead?
> > It looks like, I'm too bad with shifts and shifted for 64 bytes.
> >
> > --
> > Thanks,
> > Dmitry
> > diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
> > index 7d860a22e5fb..b78bb7dc06fe 100644
> > --- a/net/netlink/af_netlink.c
> > +++ b/net/netlink/af_netlink.c
> > @@ -1011,7 +1011,7 @@ static int netlink_bind(struct socket *sock,
> > struct sockaddr *addr,
> >
> > if (nlk->ngroups == 0)
> > groups = 0;
> > - else
> > + else if (nlk->ngroups < 64)
> > groups &= (1ULL << nlk->ngroups) - 1;
> >
> > bound = nlk->bound;
>
> This fixed my issue. If needed:
>
> Tested-by: Nathan Chancellor <natechancellor@xxxxxxxxx>
>

Thanks for the testing, sorry again for the breakage.
Will send the patch shortly (with sizeof(unsigned long long) instead of
hard-coded 64). Hopefully, not too late.

(and then will go to bed and feel myself awful - not knowing C after so
many years).

--
Thanks,
Dmitry