summaryrefslogtreecommitdiff
path: root/sys/netinet6/sctp6_usrreq.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/netinet6/sctp6_usrreq.c')
-rw-r--r--sys/netinet6/sctp6_usrreq.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/sys/netinet6/sctp6_usrreq.c b/sys/netinet6/sctp6_usrreq.c
index fe1328a4de5e..4af78d8f5547 100644
--- a/sys/netinet6/sctp6_usrreq.c
+++ b/sys/netinet6/sctp6_usrreq.c
@@ -111,7 +111,7 @@ sctp6_input_with_port(struct mbuf **i_pak, int *offp, uint16_t port)
}
}
ip6 = mtod(m, struct ip6_hdr *);
- sh = (struct sctphdr *)(mtod(m, caddr_t) + iphlen);
+ sh = (struct sctphdr *)(mtod(m, caddr_t)+iphlen);
ch = (struct sctp_chunkhdr *)((caddr_t)sh + sizeof(struct sctphdr));
offset -= sizeof(struct sctp_chunkhdr);
memset(&src, 0, sizeof(struct sockaddr_in6));
@@ -481,6 +481,7 @@ SYSCTL_PROC(_net_inet6_sctp6, OID_AUTO, getcred, CTLTYPE_OPAQUE | CTLFLAG_RW,
static void
sctp6_abort(struct socket *so)
{
+ struct epoch_tracker et;
struct sctp_inpcb *inp;
uint32_t flags;
@@ -489,6 +490,7 @@ sctp6_abort(struct socket *so)
SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP6_USRREQ, EINVAL);
return;
}
+ NET_EPOCH_ENTER(et);
sctp_must_try_again:
flags = inp->sctp_flags;
#ifdef SCTP_LOG_CLOSING
@@ -517,6 +519,7 @@ sctp_must_try_again:
goto sctp_must_try_again;
}
}
+ NET_EPOCH_EXIT(et);
return;
}
@@ -776,9 +779,12 @@ connected_type:
* optionaly switch back to this code (by changing back the
* defininitions but this is not advisable.
*/
+ struct epoch_tracker et;
int ret;
+ NET_EPOCH_ENTER(et);
ret = sctp_output(inp, inp->pkt, addr, inp->control, p, flags);
+ NET_EPOCH_EXIT(et);
inp->pkt = NULL;
inp->control = NULL;
return (ret);
@@ -790,6 +796,7 @@ connected_type:
static int
sctp6_connect(struct socket *so, struct sockaddr *addr, struct thread *p)
{
+ struct epoch_tracker et;
uint32_t vrf_id;
int error = 0;
struct sctp_inpcb *inp;
@@ -924,8 +931,10 @@ sctp6_connect(struct socket *so, struct sockaddr *addr, struct thread *p)
}
SCTP_SET_STATE(stcb, SCTP_STATE_COOKIE_WAIT);
(void)SCTP_GETTIME_TIMEVAL(&stcb->asoc.time_entered);
+ NET_EPOCH_ENTER(et);
sctp_send_initiate(inp, stcb, SCTP_SO_LOCKED);
SCTP_TCB_UNLOCK(stcb);
+ NET_EPOCH_EXIT(et);
return (error);
}