[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180804.170753.739714742014742080.davem@davemloft.net>
Date: Sat, 04 Aug 2018 17:07:53 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: dima@...sta.com
Cc: natechancellor@...il.com, gregkh@...uxfoundation.org,
linux-kernel@...r.kernel.org, stable@...r.kernel.org,
herbert@...dor.apana.org.au, steffen.klassert@...unet.com,
netdev@...r.kernel.org
Subject: Re: [PATCH 4.4 106/124] netlink: Do not subscribe to non-existent
groups
From: Dmitry Safonov <dima@...sta.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@...sta.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.
Powered by blists - more mailing lists