PERFORCE change 81984 for review

Robert Watson rwatson at FreeBSD.org
Sun Aug 14 17:39:41 GMT 2005


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

Change 81984 by rwatson at rwatson_peppercorn on 2005/08/14 17:38:46

	Remove most spl's in rtsock.c.  One of two left in to indicate
	possible bugs: one is left over from 4.x, and has to do with
	initialization order for raw-derived sockets, and one has to do
	with missing locking relating to dumping route data with sysctl.

Affected files ...

.. //depot/projects/netsmp/src/sys/net/rtsock.c#6 edit

Differences ...

==== //depot/projects/netsmp/src/sys/net/rtsock.c#6 (text+ko) ====

@@ -140,11 +140,8 @@
 static int
 rts_abort(struct socket *so)
 {
-	int s, error;
-	s = splnet();
-	error = raw_usrreqs.pru_abort(so);
-	splx(s);
-	return error;
+
+	return (raw_usrreqs.pru_abort(so));
 }
 
 /* pru_accept is EOPNOTSUPP */
@@ -203,21 +200,15 @@
 static int
 rts_bind(struct socket *so, struct sockaddr *nam, struct thread *td)
 {
-	int s, error;
-	s = splnet();
-	error = raw_usrreqs.pru_bind(so, nam, td); /* xxx just EINVAL */
-	splx(s);
-	return error;
+
+	return (raw_usrreqs.pru_bind(so, nam, td)); /* xxx just EINVAL */
 }
 
 static int
 rts_connect(struct socket *so, struct sockaddr *nam, struct thread *td)
 {
-	int s, error;
-	s = splnet();
-	error = raw_usrreqs.pru_connect(so, nam, td); /* XXX just EINVAL */
-	splx(s);
-	return error;
+
+	return (raw_usrreqs.pru_connect(so, nam, td)); /* XXX just EINVAL */
 }
 
 /* pru_connect2 is EOPNOTSUPP */
@@ -254,11 +245,8 @@
 static int
 rts_disconnect(struct socket *so)
 {
-	int s, error;
-	s = splnet();
-	error = raw_usrreqs.pru_disconnect(so);
-	splx(s);
-	return error;
+
+	return (raw_usrreqs.pru_disconnect(so));
 }
 
 /* pru_listen is EOPNOTSUPP */
@@ -266,11 +254,8 @@
 static int
 rts_peeraddr(struct socket *so, struct sockaddr **nam)
 {
-	int s, error;
-	s = splnet();
-	error = raw_usrreqs.pru_peeraddr(so, nam);
-	splx(s);
-	return error;
+
+	return (raw_usrreqs.pru_peeraddr(so, nam));
 }
 
 /* pru_rcvd is EOPNOTSUPP */
@@ -280,11 +265,8 @@
 rts_send(struct socket *so, int flags, struct mbuf *m, struct sockaddr *nam,
 	 struct mbuf *control, struct thread *td)
 {
-	int s, error;
-	s = splnet();
-	error = raw_usrreqs.pru_send(so, flags, m, nam, control, td);
-	splx(s);
-	return error;
+
+	return (raw_usrreqs.pru_send(so, flags, m, nam, control, td));
 }
 
 /* pru_sense is null */
@@ -292,21 +274,15 @@
 static int
 rts_shutdown(struct socket *so)
 {
-	int s, error;
-	s = splnet();
-	error = raw_usrreqs.pru_shutdown(so);
-	splx(s);
-	return error;
+
+	return (raw_usrreqs.pru_shutdown(so));
 }
 
 static int
 rts_sockaddr(struct socket *so, struct sockaddr **nam)
 {
-	int s, error;
-	s = splnet();
-	error = raw_usrreqs.pru_sockaddr(so, nam);
-	splx(s);
-	return error;
+
+	return (raw_usrreqs.pru_sockaddr(so, nam));
 }
 
 static struct pr_usrreqs route_usrreqs = {


More information about the p4-projects mailing list