Messages in this thread | | | Date | Sat, 04 Aug 2018 17:07:53 -0700 (PDT) | Subject | Re: [PATCH 4.4 106/124] netlink: Do not subscribe to non-existent groups | From | David Miller <> |
| |
From: Dmitry Safonov <dima@arista.com> Date: Sun, 05 Aug 2018 00:44:28 +0100
> On Sat, 2018-08-04 at 16:33 -0700, David Miller wrote: >> From: Dmitry Safonov <dima@arista.com> >> 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.
We can have many more than 32 multicast group subscriptions.
That's why the memberships are also stored in the nlk->groups[] array.
I'm --><--- this close to simply reverting all of your changes, the missed masking seems to be quite harmless.
| |