Multiple interface creation by invited GO
j at w1.fi
Sun Nov 11 13:51:29 EST 2012
On Wed, Aug 29, 2012 at 12:15:24AM +0900, Masashi Honma wrote:
> There are some drivers which create addtional interface for GO role.
> With such a driver I found a case that 2 times interface creation runs.
> 2. Connect them with "p2p_connect xx:xx:xx:xx:xx:xx pbc persistent".
> 7. Invite "P2P Device A" from "P2P Device B".
> Then we could see 2 interface creation messages and one removal message.
> P2P: Create a new interface p2p-wlan1-0 for the group
> P2P: Removing pending group interface p2p2
> P2P: Create a new interface p2p-wlan1-1 for the group
> First creation is driven by p2p_process_invitation_req().
> Removal and second creation is driven by wpas_p2p_group_add_persistent().
> These multiple creation causes "Out of memory" error on Broadcom device driver +
> libnl combination. The "Out of memory" error occurs at send_and_recv_msgs() in
> nl80211_create_iface_once(). More precisely, nl_recvmsgs() in
> send_and_recv_msgs() returns -12 (Out of memory).
> I think this is a device driver or libnl problem. But if I commented out the
> first interface creation, the "Out of memory" error didn't occur.
This part does indeed sound like a driver issue.
> My question is "Is there any reason for multiple creation ?".
No, that was not supposed to happen and is a regression (but quite an
old one). The two wpas_p2p_stop_find() calls in this particular sequence
remove the pending interface which is not needed (or desired) in this
case. I fixed this with the following commit:
Jouni Malinen PGP id EFC895FA
More information about the HostAP