From a6a61673143e2008ab091a83e0d20ce976e65090 Mon Sep 17 00:00:00 2001 From: Robert Watson <rwatson@FreeBSD.org> Date: Sun, 12 Oct 2008 20:01:32 +0000 Subject: [PATCH] When disconnecting a UDPv6 socket, acquire the socket lock around the changing of the so_state field, as is done in UDPv4. Remove XXX locking comment. MFC after: 3 days --- sys/netinet6/udp6_usrreq.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/netinet6/udp6_usrreq.c b/sys/netinet6/udp6_usrreq.c index f85fe5841ce9..276af831607e 100644 --- a/sys/netinet6/udp6_usrreq.c +++ b/sys/netinet6/udp6_usrreq.c @@ -935,8 +935,9 @@ udp6_disconnect(struct socket *so) in6_pcbdisconnect(inp); inp->in6p_laddr = in6addr_any; - /* XXXRW: so_state locking? */ + SOCK_LOCK(so); so->so_state &= ~SS_ISCONNECTED; /* XXX */ + SOCK_UNLOCK(so); out: INP_WUNLOCK(inp); INP_INFO_WUNLOCK(&V_udbinfo);