On Sun, 2018-08-05 at 00:44 +0100, Dmitry Safonov wrote: > On Sat, 2018-08-04 at 16:33 -0700, David Miller wrote: > > From: Dmitry Safonov <dima@xxxxxxxxxx> > > Date: Sun, 05 Aug 2018 00:26:38 +0100 > > > > > 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. > > > > 'groups' is "long unsigned int" not "unsigned long long" > > > > long unsigned int groups = nladdr->nl_groups; > > > > And nladdr->nl_groups is specified as "__u32" > > > > So the size of the relevant bits is actually strictly 32-bit. > > > > This makes also the "ULL" in your constant specification incorrect > > as > > well. > > > > So much crazy stuff going on here :-/ > > Right, I misslooked that.. > How does this work on Android then? > I doubt they changed uabi. Ok, I'm too slow - that is 32, but shift does overflow. Will send the proper patch in a minute. Sorry about the mess :C