Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Oct 2003 16:45:25 -0700 (PDT)
From:      Sam Leffler <sam@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 40350 for review
Message-ID:  <200310232345.h9NNjPka096458@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=40350

Change 40350 by sam@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;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200310232345.h9NNjPka096458>