Date: Mon, 11 Aug 2003 14:40:04 -0700 (PDT) From: Ted Unangst <tedu@stanford.edu> To: freebsd-hackers@freebsd.org Subject: Re: possible deadlocks? Message-ID: <Pine.GSO.4.44.0308111434150.19330-100000@saga8.Stanford.EDU> In-Reply-To: <Pine.GSO.4.44.0308061506120.29218-100000@saga0.Stanford.EDU>
next in thread | previous in thread | raw e-mail | index | archive | help
one more. This falls into the very improbable category. Ordinarily, I
don't think this is possible because FreeBSD doesn't support hotplug PCI,
so sk attachment can't be raced.
However, assuming I had some hot plug sk card, it seems like running
ifconfig sk0 at just the wrong point during sk1 attach will deadlock. If
it absolutely can not happen (for a reason other than sk is attached
before init runs) please explain.
sk.c:
sk_attach_xmac()
SK_LOCK(sc); /* grabs */
ether_ifattach()
ifattach()
IFNET_WLOCK() /* waits for 2 */
in6_ifattach.c:
in6_nigroup_attach()
IFNET_RLOCK() /* grabs */
in6_addmulti()
if_addmulti()
sk_ioctl()
SK_IF_LOCK(); /* waits for 1 */
--
"First, it was not a strip bar, it was an erotic club. And second,
what can I say? I'm a night owl."
- M. Barry, Mayor of Washington, DC
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.44.0308111434150.19330-100000>
