summaryrefslogtreecommitdiffstats
path: root/sys/netinet6/udp6_usrreq.c
diff options
context:
space:
mode:
authorjhay <jhay@FreeBSD.org>2006-09-07 18:44:54 +0000
committerjhay <jhay@FreeBSD.org>2006-09-07 18:44:54 +0000
commit13e2e37860f1afeb5b06a74aff1a6292ff9ddab9 (patch)
treeb5b7bb602cbb02d18950eff42b07a63b0ab2981b /sys/netinet6/udp6_usrreq.c
parent2b1d36a00f0a7f5cfeef85aab4d61096ea05f896 (diff)
downloadFreeBSD-src-13e2e37860f1afeb5b06a74aff1a6292ff9ddab9.zip
FreeBSD-src-13e2e37860f1afeb5b06a74aff1a6292ff9ddab9.tar.gz
All multicast listeners on a port should get one copy of the packet. This
was broken during the locking changes.
Diffstat (limited to 'sys/netinet6/udp6_usrreq.c')
-rw-r--r--sys/netinet6/udp6_usrreq.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/netinet6/udp6_usrreq.c b/sys/netinet6/udp6_usrreq.c
index 005c2d5..cec632c 100644
--- a/sys/netinet6/udp6_usrreq.c
+++ b/sys/netinet6/udp6_usrreq.c
@@ -283,9 +283,9 @@ udp6_input(mp, offp, proto)
struct mbuf *n;
if ((n = m_copy(m, 0, M_COPYALL)) != NULL) {
- INP_LOCK(in6p);
- udp6_append(in6p, n, off, &fromsa);
- INP_UNLOCK(in6p);
+ INP_LOCK(last);
+ udp6_append(last, n, off, &fromsa);
+ INP_UNLOCK(last);
}
}
last = in6p;
OpenPOWER on IntegriCloud