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.vanspriel@xxxxxxxxxxxx> >> >> 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