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

From: Dmitry Safonov <[email-masked]>
Date: Sun, 05 Aug 2018 00:26:38 +0100

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 <[email-masked]>
> 

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