Date: Fri, 28 Aug 2009 20:07:38 +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: <200908282007.n7SK7lkS065579@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
rwatson 2009-08-28 20:07:38 UTC
FreeBSD src repository
Modified files: (Branch: RELENG_8)
sys/net if_ef.c
Log:
SVN rev 196627 on 2009-08-28 20:07:38Z by rwatson
Merge r196482 from head to stable/8:
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
Approved by: re (kib)
Revision Changes Path
1.49.2.2 +15 -2 src/sys/net/if_ef.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200908282007.n7SK7lkS065579>
