[RFC 2/2] nl80211: make eloop sockets non-blocking

Johannes Berg johannes
Sat Oct 26 01:40:46 PDT 2013


On Wed, 2013-10-23 at 00:36 +0300, Jouni Malinen wrote:

> >  static void nl80211_register_eloop_read(struct nl_handle **handle,
> > +	*handle = (void *)(((unsigned long)*handle) ^ ELOOP_SOCKET_INVALID);
> 
> And this invalidation does trigger an issue in the test_ibss_rsn case,
> i.e., the wpa_supplicant controlling wlan0 crashes with this backtrace:

Yes, I see, the IBSS code is actually broken in that it does send
commands to the socket well after it has been registered for the eloop.
That could cause the problems we discussed, when an event is processed
in the loop that waits for the command to finish we could drop the event
and then block the eloop.

johannes




More information about the Hostap mailing list