- Update the comment lines in sctp_input.c
- We need to init the INP_LOCK since otherwise for non-SMP kernels you crash when you set the TOS.
This commit is contained in:
parent
f64a3b042a
commit
e1461651a4
@ -3676,19 +3676,17 @@ __attribute__((noinline))
|
||||
return (NULL);
|
||||
}
|
||||
} else {
|
||||
/*
|
||||
* For cookies and all other chunks. if the
|
||||
*/
|
||||
/* For cookies and all other chunks. */
|
||||
if (chk_length > sizeof(chunk_buf)) {
|
||||
/*
|
||||
* use just the size of the chunk buffer so
|
||||
* the front part of our chunks fit in
|
||||
* contiguous space up to the chunk buffer
|
||||
* size (508 bytes). For chunks that need to
|
||||
* get more than that they mus use the
|
||||
* get more than that they must use the
|
||||
* sctp_m_getptr() function or other means
|
||||
* (know how to parse mbuf chains). Cookies
|
||||
* do this already.
|
||||
* (e.g. know how to parse mbuf chains).
|
||||
* Cookies do this already.
|
||||
*/
|
||||
ch = (struct sctp_chunkhdr *)sctp_m_getptr(m, *offset,
|
||||
(sizeof(chunk_buf) - 4),
|
||||
|
@ -1861,6 +1861,7 @@ sctp_inpcb_alloc(struct socket *so, uint32_t vrf_id)
|
||||
|
||||
SCTP_INP_INFO_WLOCK();
|
||||
SCTP_INP_LOCK_INIT(inp);
|
||||
INP_LOCK_INIT(&inp->ip_inp.inp, "inp", "sctpinp");
|
||||
SCTP_INP_READ_INIT(inp);
|
||||
SCTP_ASOC_CREATE_LOCK_INIT(inp);
|
||||
/* lock the new ep */
|
||||
@ -2892,6 +2893,7 @@ sctp_inpcb_free(struct sctp_inpcb *inp, int immediate, int from)
|
||||
inp->sctp_tcbhash = NULL;
|
||||
}
|
||||
/* Now we must put the ep memory back into the zone pool */
|
||||
INP_LOCK_DESTROY(&inp->ip_inp.inp);
|
||||
SCTP_INP_LOCK_DESTROY(inp);
|
||||
SCTP_INP_READ_DESTROY(inp);
|
||||
SCTP_ASOC_CREATE_LOCK_DESTROY(inp);
|
||||
|
Loading…
Reference in New Issue
Block a user