Page MenuHomeFreeBSD

D31878.id94877.diff
No OneTemporary

D31878.id94877.diff

Index: sys/netinet/sctp_pcb.c
===================================================================
--- sys/netinet/sctp_pcb.c
+++ sys/netinet/sctp_pcb.c
@@ -1845,6 +1845,8 @@
struct sctppcbhead *head;
struct sctp_inpcb *tinp, *ninp;
+ SCTP_INP_INFO_WLOCK_ASSERT();
+
if (sctp_is_feature_off(inp, SCTP_PCB_FLAGS_PORTREUSE)) {
/* only works with port reuse on */
return (-1);
@@ -1853,7 +1855,6 @@
return (0);
}
SCTP_INP_RUNLOCK(inp);
- SCTP_INP_INFO_WLOCK();
head = &SCTP_BASE_INFO(sctp_ephash)[SCTP_PCBHASH_ALLADDR(inp->sctp_lport,
SCTP_BASE_INFO(hashmark))];
/* Kick out all non-listeners to the TCP hash */
@@ -1885,7 +1886,6 @@
LIST_INSERT_HEAD(head, inp, sctp_hash);
SCTP_INP_WUNLOCK(inp);
SCTP_INP_RLOCK(inp);
- SCTP_INP_INFO_WUNLOCK();
return (0);
}

File Metadata

Mime Type
text/plain
Expires
Sat, Oct 3, 10:29 AM (8 h, 23 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
40123593
Default Alt Text
D31878.id94877.diff (797 B)

Event Timeline