[PATCH] P2P:Fixing the supplicant crash if a group interface has been removed in the event handler itself

Johannes Berg johannes at sipsolutions.net
Wed May 30 12:27:52 EDT 2012


On Tue, 2012-05-29 at 10:01 +0000, Neeraj Kumar Garg wrote:
> We hit a scenario where a PBC overlap was detected in the context of
> EVENT_SCAN_RESULTS. When in the event handler of do_process_drv_event,
> an overlap is detected, it will cause GROUP-FORMATION-FAILURE and that
> will remove the group interface and then corresponding drv pointer
> from the list global->interfaces will also get removed. (code path
> wpas_p2p_group_delete->wpa_supplicant_remove_iface ->
> wpa_supplicant_deinit_iface -> wpa_drv_deinit
> ->wpa_driver_nl80211_deinit)
> 
> In my opinion it is safe to do break, as the event had an ifidx no.
> and once that has been found, event is completed. There is no need to
> go for checking other interfaces. Plz let me know if my understanding
> is wrong.

No, the event isn't necessary complete. I suspect what's happening is
that we delete the interface we were looking at just now and then the
list gets messed up while we iterate it ...

http://p.sipsolutions.net/05e21c53908916a7.txt

should help with that.

johannes



More information about the HostAP mailing list