Author: bz
Date: Wed Nov 26 20:52:26 2008
New Revision: 185344
URL: http://svn.freebsd.org/changeset/base/185344

Log:
  Remove in6_pcbdetach() as it is exactly the same function
  as in_pcbdetach() and we don't need the code twice.
  
  Reviewed by:  rwatson
  MFC after:    6 weeks (*)
  (*) possibly need to leave a stub wrapper in 7 to keep the symbol.

Modified:
  head/sys/netinet/tcp_usrreq.c
  head/sys/netinet6/in6_pcb.c
  head/sys/netinet6/in6_pcb.h
  head/sys/netinet6/raw_ip6.c
  head/sys/netinet6/udp6_usrreq.c

Modified: head/sys/netinet/tcp_usrreq.c
==============================================================================
--- head/sys/netinet/tcp_usrreq.c       Wed Nov 26 19:29:33 2008        
(r185343)
+++ head/sys/netinet/tcp_usrreq.c       Wed Nov 26 20:52:26 2008        
(r185344)
@@ -187,24 +187,15 @@ tcp_detach(struct socket *so, struct inp
                if (inp->inp_vflag & INP_DROPPED) {
                        KASSERT(tp == NULL, ("tcp_detach: INP_TIMEWAIT && "
                            "INP_DROPPED && tp != NULL"));
+                       in_pcbdetach(inp);
 #ifdef INET6
-                       if (isipv6) {
-                               in6_pcbdetach(inp);
+                       if (isipv6)
                                in6_pcbfree(inp);
-                       } else {
+                       else
 #endif
-                               in_pcbdetach(inp);
                                in_pcbfree(inp);
-#ifdef INET6
-                       }
-#endif
                } else {
-#ifdef INET6
-                       if (isipv6)
-                               in6_pcbdetach(inp);
-                       else
-#endif
-                               in_pcbdetach(inp);
+                       in_pcbdetach(inp);
                        INP_WUNLOCK(inp);
                }
        } else {
@@ -220,23 +211,14 @@ tcp_detach(struct socket *so, struct inp
                if (inp->inp_vflag & INP_DROPPED ||
                    tp->t_state < TCPS_SYN_SENT) {
                        tcp_discardcb(tp);
+                       in_pcbdetach(inp);
 #ifdef INET6
-                       if (isipv6) {
-                               in6_pcbdetach(inp);
+                       if (isipv6)
                                in6_pcbfree(inp);
-                       } else {
+                       else
 #endif
-                               in_pcbdetach(inp);
                                in_pcbfree(inp);
-#ifdef INET6
-                       }
-#endif
                } else {
-#ifdef INET6
-                       if (isipv6)
-                               in6_pcbdetach(inp);
-                       else
-#endif
                                in_pcbdetach(inp);
                }
        }
@@ -1496,17 +1478,13 @@ tcp_attach(struct socket *so)
        inp->inp_vflag |= INP_IPV4;
        tp = tcp_newtcpcb(inp);
        if (tp == NULL) {
+               in_pcbdetach(inp);
 #ifdef INET6
-               if (isipv6) {
-                       in6_pcbdetach(inp);
+               if (isipv6)
                        in6_pcbfree(inp);
-               } else {
+               else
 #endif
-                       in_pcbdetach(inp);
                        in_pcbfree(inp);
-#ifdef INET6
-               }
-#endif
                INP_INFO_WUNLOCK(&V_tcbinfo);
                return (ENOBUFS);
        }

Modified: head/sys/netinet6/in6_pcb.c
==============================================================================
--- head/sys/netinet6/in6_pcb.c Wed Nov 26 19:29:33 2008        (r185343)
+++ head/sys/netinet6/in6_pcb.c Wed Nov 26 20:52:26 2008        (r185344)
@@ -411,16 +411,6 @@ in6_pcbdisconnect(struct inpcb *inp)
 }
 
 void
-in6_pcbdetach(struct inpcb *inp)
-{
-
-       KASSERT(inp->inp_socket != NULL, ("%s: inp_socket == NULL", __func__));
-
-       inp->inp_socket->so_pcb = NULL;
-       inp->inp_socket = NULL;
-}
-
-void
 in6_pcbfree(struct inpcb *inp)
 {
        struct inpcbinfo *ipi = inp->inp_pcbinfo;

Modified: head/sys/netinet6/in6_pcb.h
==============================================================================
--- head/sys/netinet6/in6_pcb.h Wed Nov 26 19:29:33 2008        (r185343)
+++ head/sys/netinet6/in6_pcb.h Wed Nov 26 20:52:26 2008        (r185344)
@@ -73,7 +73,6 @@ void  in6_pcbpurgeif0 __P((struct inpcbin
 void   in6_losing __P((struct inpcb *));
 int    in6_pcbbind __P((struct inpcb *, struct sockaddr *, struct ucred *));
 int    in6_pcbconnect __P((struct inpcb *, struct sockaddr *, struct ucred *));
-void   in6_pcbdetach __P((struct inpcb *));
 void   in6_pcbdisconnect __P((struct inpcb *));
 void   in6_pcbfree __P((struct inpcb *));
 int    in6_pcbladdr __P((struct inpcb *, struct sockaddr *,

Modified: head/sys/netinet6/raw_ip6.c
==============================================================================
--- head/sys/netinet6/raw_ip6.c Wed Nov 26 19:29:33 2008        (r185343)
+++ head/sys/netinet6/raw_ip6.c Wed Nov 26 20:52:26 2008        (r185344)
@@ -604,7 +604,7 @@ rip6_detach(struct socket *so)
        INP_INFO_WLOCK(&V_ripcbinfo);
        INP_WLOCK(inp);
        free(inp->in6p_icmp6filt, M_PCB);
-       in6_pcbdetach(inp);
+       in_pcbdetach(inp);
        in6_pcbfree(inp);
        INP_INFO_WUNLOCK(&V_ripcbinfo);
 }

Modified: head/sys/netinet6/udp6_usrreq.c
==============================================================================
--- head/sys/netinet6/udp6_usrreq.c     Wed Nov 26 19:29:33 2008        
(r185343)
+++ head/sys/netinet6/udp6_usrreq.c     Wed Nov 26 20:52:26 2008        
(r185344)
@@ -900,7 +900,7 @@ udp6_detach(struct socket *so)
 
        INP_INFO_WLOCK(&V_udbinfo);
        INP_WLOCK(inp);
-       in6_pcbdetach(inp);
+       in_pcbdetach(inp);
        in6_pcbfree(inp);
        INP_INFO_WUNLOCK(&V_udbinfo);
 }
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to