Date: Sun, 23 Aug 2009 21:00:21 +0000 (UTC) From: Robert Watson <rwatson@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/net if_ef.c Message-ID: <200908232100.n7NL0Vcl038423@repoman.freebsd.org>
index | next in thread | raw e-mail
rwatson 2009-08-23 21:00:21 UTC
FreeBSD src repository
Modified files:
sys/net if_ef.c
Log:
SVN rev 196482 on 2009-08-23 21:00:21Z by rwatson
Rather than using IFNET_RLOCK() when iterating over (and modifying) the
ifnet list during if_ef load, directly acquire the ifnet_sxlock
exclusively. That way when if_alloc() recurses the lock, it's a write
recursion rather than a read->write recursion.
This code structure is arguably a bug, so add a comment indicating that
this is the case. Post-8.0, we should fix this, but this commit
resolves panic-on-load for if_ef.
Discussed with: bz, julian
Reported by: phk
MFC after: 3 days
Revision Changes Path
1.50 +15 -2 src/sys/net/if_ef.c
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200908232100.n7NL0Vcl038423>
