diff options
author | rwatson <rwatson@FreeBSD.org> | 2008-07-07 10:11:17 +0000 |
---|---|---|
committer | rwatson <rwatson@FreeBSD.org> | 2008-07-07 10:11:17 +0000 |
commit | 00f0ab40d48c3094bbaaa6328309780f40481686 (patch) | |
tree | 9d6a0d2f83b80e77085e1fb354899f70bedb3c25 /sys/netinet6/udp6_usrreq.c | |
parent | 55dcd10be46c76debc8c6e83e12faa48f8f92576 (diff) | |
download | FreeBSD-src-00f0ab40d48c3094bbaaa6328309780f40481686.zip FreeBSD-src-00f0ab40d48c3094bbaaa6328309780f40481686.tar.gz |
Drop read lock on udbinfo earlier during delivery to the last matching
UDP socket for a datagram; the inpcb read lock is sufficient to provide
inpcb stability during udp6_append().
MFC after: 1 month
Diffstat (limited to 'sys/netinet6/udp6_usrreq.c')
-rw-r--r-- | sys/netinet6/udp6_usrreq.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/netinet6/udp6_usrreq.c b/sys/netinet6/udp6_usrreq.c index a3cf3e1..4f8e993 100644 --- a/sys/netinet6/udp6_usrreq.c +++ b/sys/netinet6/udp6_usrreq.c @@ -344,9 +344,9 @@ udp6_input(struct mbuf **mp, int *offp, int proto) return (IPPROTO_DONE); } INP_RLOCK(inp); + INP_INFO_RUNLOCK(&udbinfo); udp6_append(inp, m, off, &fromsa); INP_RUNLOCK(inp); - INP_INFO_RUNLOCK(&udbinfo); return (IPPROTO_DONE); badheadlocked: |