panic with if_iwi(4) upon "netif restart"

Bernhard Schmidt bschmidt at freebsd.org
Wed Jul 4 16:51:26 UTC 2012


On Tuesday 19 June 2012 07:28:11 Alexey Dokuchaev wrote:
> On Mon, May 07, 2012 at 08:28:50PM +0200, Bernhard Schmidt wrote:
> > On Mon, May 7, 2012 at 5:54 AM, Alexey Dokuchaev <danfe at nsu.ru> wrote:
> > > Weird panic occurs to me here with iwi(4) based laptop when trying to hook
> > > up to WPA-protected network with "service netif restart".  Kernel and
> > > userland are not strictly in sync, with the latter lagging behind couple
> > > of months, but presumably this fact should not matter on stable branch.
> > 
> > does "ps" in kgdb reveal multiple instances of wpa_supplicant running?
> > If so, this seems to be the well known devd+netif+supplicant+newstate
> > race/missing refcount.
> > 
> > Wanna try attached patch?
> 
> Bernhard,
> 
> Sorry it took so long to get back.  With your patch applied, I haven't
> seen this panic for a while, however, double instances of wpa_supplicant
> still persist.  So I think you can commit it, but underlying race remains
> to be fixed.

Ok, thanks. The patch is indeed supposed to only fix the panics.

The underlying problem is that a "netif restart" results in 2
calls to "netif wlan0 start", one through the call itself the other
due an event sent to devd. wpa_supplicant itself has a small window
were it is possible that 2 instances are attached to one resource.
I have yet to find a solution for this without adding any regressions.

-- 
Bernhard


More information about the freebsd-stable mailing list