Page MenuHomeFreeBSD

D38354.diff
No OneTemporary

D38354.diff

diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c
--- a/sys/netinet/tcp_syncache.c
+++ b/sys/netinet/tcp_syncache.c
@@ -882,8 +882,8 @@
if (IN6_IS_ADDR_UNSPECIFIED(&inp->in6p_laddr))
inp->in6p_laddr = sc->sc_inc.inc6_laddr;
INP_HASH_WLOCK(&V_tcbinfo);
- error = in6_pcbconnect_mbuf(inp, (struct sockaddr *)&sin6,
- thread0.td_ucred, m, false);
+ error = in6_pcbconnect(inp, (struct sockaddr *)&sin6,
+ thread0.td_ucred, false);
INP_HASH_WUNLOCK(&V_tcbinfo);
if (error != 0) {
inp->in6p_laddr = laddr6;
diff --git a/sys/netinet/tcp_usrreq.c b/sys/netinet/tcp_usrreq.c
--- a/sys/netinet/tcp_usrreq.c
+++ b/sys/netinet/tcp_usrreq.c
@@ -1476,7 +1476,7 @@
INP_WLOCK_ASSERT(inp);
INP_HASH_WLOCK(&V_tcbinfo);
- error = in6_pcbconnect(inp, nam, td->td_ucred);
+ error = in6_pcbconnect(inp, nam, td->td_ucred, true);
INP_HASH_WUNLOCK(&V_tcbinfo);
if (error != 0)
return (error);
diff --git a/sys/netinet6/in6_pcb.h b/sys/netinet6/in6_pcb.h
--- a/sys/netinet6/in6_pcb.h
+++ b/sys/netinet6/in6_pcb.h
@@ -74,9 +74,7 @@
void in6_pcbpurgeif0(struct inpcbinfo *, struct ifnet *);
void in6_losing(struct inpcb *);
int in6_pcbbind(struct inpcb *, struct sockaddr *, struct ucred *);
-int in6_pcbconnect(struct inpcb *, struct sockaddr *, struct ucred *);
-int in6_pcbconnect_mbuf(struct inpcb *, struct sockaddr *,
- struct ucred *, struct mbuf *, bool);
+int in6_pcbconnect(struct inpcb *, struct sockaddr *, struct ucred *, bool);
void in6_pcbdisconnect(struct inpcb *);
struct inpcb *
in6_pcblookup_local(struct inpcbinfo *,
diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c
--- a/sys/netinet6/in6_pcb.c
+++ b/sys/netinet6/in6_pcb.c
@@ -414,8 +414,8 @@
* then pick one.
*/
int
-in6_pcbconnect_mbuf(struct inpcb *inp, struct sockaddr *nam,
- struct ucred *cred, struct mbuf *m, bool rehash)
+in6_pcbconnect(struct inpcb *inp, struct sockaddr *nam, struct ucred *cred,
+ bool rehash)
{
struct inpcbinfo *pcbinfo = inp->inp_pcbinfo;
struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)nam;
@@ -497,13 +497,6 @@
return (0);
}
-int
-in6_pcbconnect(struct inpcb *inp, struct sockaddr *nam, struct ucred *cred)
-{
-
- return (in6_pcbconnect_mbuf(inp, nam, cred, NULL, true));
-}
-
void
in6_pcbdisconnect(struct inpcb *inp)
{
diff --git a/sys/netinet6/udp6_usrreq.c b/sys/netinet6/udp6_usrreq.c
--- a/sys/netinet6/udp6_usrreq.c
+++ b/sys/netinet6/udp6_usrreq.c
@@ -1182,7 +1182,7 @@
inp->inp_vflag &= ~INP_IPV4;
inp->inp_vflag |= INP_IPV6;
INP_HASH_WLOCK(pcbinfo);
- error = in6_pcbconnect(inp, nam, td->td_ucred);
+ error = in6_pcbconnect(inp, nam, td->td_ucred, true);
INP_HASH_WUNLOCK(pcbinfo);
/*
* If connect succeeds, mark socket as connected. If

File Metadata

Mime Type
text/plain
Expires
Sat, Jan 11, 4:11 PM (20 h, 4 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15755405
Default Alt Text
D38354.diff (2 KB)

Event Timeline