[PATCH 1/1] P2P: Ignore RTM_NEWLINK event for the P2P Discovery Interface

Jithu Jance jithujance at gmail.com
Sat Jun 14 10:04:22 EDT 2014


Hi Dmitry & Jouni,

Thanks for looking into this. I think I didn't dig deep enough. I will
also check this and try to come up with a patch to address this.


Thanks,



> Jithu Jance





On Sat, Jun 14, 2014 at 5:18 AM, Dmitry Shmidt <dimitrysh at google.com> wrote:
> On Fri, Jun 13, 2014 at 4:10 PM, Dmitry Shmidt <dimitrysh at google.com> wrote:
>> On Wed, Jun 11, 2014 at 2:30 PM, Jouni Malinen <j at w1.fi> wrote:
>>> On Mon, Jun 09, 2014 at 01:26:42AM -0700, Jithu Jance wrote:
>>>> Patch for Ignoring the RTM event for the dedicated P2P discovery
>>>> Interface. Without the patch the IFFUP operation on the interface
>>>> was failing (since there is no network device associated with the
>>>> interface).
>>>
>>>> +     if (drv->nlmode == NL80211_IFTYPE_P2P_DEVICE) {
>>>> +             wpa_printf(MSG_INFO, "nl80211: Ignore RTM_NEWLINK for P2P Discovery Interface");
>>>> +             return;
>>>> +     }
>>>
>>> Hmm.. How does NL82011_IFTYPE_P2P_DEVICE even get a RTM_NEWLINK event?
>>> The main point of that was to not have a netdev.. Could you please share
>>> a debug log showing what this looks like without this change?
>>
>> I think RTM_NEWLINK is received for group interface but this code fails it:
>>
>> if (!drv->if_disabled && !(ifi->ifi_flags & IFF_UP)) {
>>                 if (if_indextoname(ifi->ifi_index, namebuf) &&
>>                     linux_iface_up(drv->global->ioctl_sock,
>>                                    drv->first_bss->ifname) > 0) {  <<<< Here !!!
>>                         wpa_printf(MSG_DEBUG, "nl80211: Ignore interface down "
>>                                    "event since interface %s is up", namebuf);
>>                         return;
>>                 }
>>                 wpa_printf(MSG_DEBUG, "nl80211: Interface down");
>>
>>
>> Because namebuf == p2p-wlan0-0 and drv->first_bss->ifname == p2p-dev-wlan0,
>> where p2p-wlan0-0 is group interface, and p2p-dev-wlan0 is Non-NETDEV p2p.
>
> It looks like this change
>   http://hostap.epitest.fi/cgit/hostap/commit/?id=b36935be1a14341771b0fd5491808c3f6fdcb603
> causes nl80211_find_drv() to return wrong pointer.
>
>>
>>>
>>> --
>>> Jouni Malinen                                            PGP id EFC895FA
>>> _______________________________________________
>>> HostAP mailing list
>>> HostAP at lists.shmoo.com
>>> http://lists.shmoo.com/mailman/listinfo/hostap
> _______________________________________________
> HostAP mailing list
> HostAP at lists.shmoo.com
> http://lists.shmoo.com/mailman/listinfo/hostap


More information about the HostAP mailing list