On 25-08-16 23:52, Denis Kenzior wrote:
> Hi Arend,
> 
> On 08/25/2016 04:35 PM, Arend van Spriel wrote:
>> On 25-08-16 22:44, Denis Kenzior wrote:
>>> dump_wiphy_parse only assigns filter_wiphy if one of the supported
>>> NL80211 attributes is present.  So for unfiltered dumps, filter_wiphy
>>> was always initialized to 0, and only interface 0 was dumped.
>>>
>>> This was introduced in commit 2d75da13fbb957e955d212555b91101cef36f0ce.
>>>
>>> Reported-by: Arend Van Spriel <arend.vanspr...@broadcom.com>
>>
>> Actually sent a patch for this issue a little earlier. I should have
>> Cc'ed you explicitly, I guess.
>>
> 
> Whoops.  I saw your regression report and didn't look to see if you
> fixed it :)

I wanted to avoid having to revert so I decided to take a closer look.

> Looking at your patch, I'm worried that
> 
> -    int filter_wiphy = -1;
> +    int filter_wiphy;
> 
> might still break things, since Johannes used:
> 
>     if (!cb->args[2]) {
>         ...

Maybe my look was not close enough. In this branch cb->args[2] is set to
-1. So indeed that would make filter_wiphy uninitialized in subsequent
call(s). Thanks for catching that.

Regards,
Arend

>         } else if (cb->args[2] > 0) {
>                 filter_wiphy = cb->args[2] - 1;
>         }
> 
> So for unfiltered dumps, filter_wiphy would not be initialized properly
> for the second & onward call of nl80211_dump_interface. Right?
> 
> Regards,
> -Denis

Reply via email to