Date: Wed, 4 Jul 2012 18:51:56 +0200 From: Bernhard Schmidt <bschmidt@freebsd.org> To: freebsd-stable@freebsd.org Cc: Alexey Dokuchaev <danfe@nsu.ru> Subject: Re: panic with if_iwi(4) upon "netif restart" Message-ID: <201207041851.56283.bschmidt@freebsd.org> In-Reply-To: <20120619052810.GA40402@regency.nsu.ru> References: <20120507035405.GA47351@regency.nsu.ru> <CAAgh0_aS-7EvM1QgQzOgUF4Hqhd3w394nxw=vzB6b-e2AeUe6A@mail.gmail.com> <20120619052810.GA40402@regency.nsu.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
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@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201207041851.56283.bschmidt>