PERFORCE change 40350 for review

Sam Leffler sam at FreeBSD.org
Thu Oct 23 16:45:26 PDT 2003


http://perforce.freebsd.org/chv.cgi?CH=40350

Change 40350 by sam at sam_ebb on 2003/10/23 16:44:27

	socket_send may be entered from a callout and so not have
	Giant; must grab Giant to protect sbappendaddr until sockets
	are locked

Affected files ...

.. //depot/projects/netperf/sys/netinet/ip_mroute.c#15 edit

Differences ...

==== //depot/projects/netperf/sys/netinet/ip_mroute.c#15 (text+ko) ====

@@ -1287,10 +1287,13 @@
 socket_send(struct socket *s, struct mbuf *mm, struct sockaddr_in *src)
 {
     if (s) {
+	mtx_lock(&Giant);	/* XXX no socket locking */
 	if (sbappendaddr(&s->so_rcv, (struct sockaddr *)src, mm, NULL) != 0) {
 	    sorwakeup(s);
+	    mtx_unlock(&Giant);	/* XXX */
 	    return 0;
 	}
+        mtx_unlock(&Giant);	/* XXX */
     }
     m_freem(mm);
     return -1;


More information about the p4-projects mailing list