Don't try to lock the inp-info lock while holding an stcb lock (and don't lock twice...)
Details
Details
- Reviewers
markj tuexen - Group Reviewers
transport - Commits
- rG91ef9a745e10: sctp: avoid LOR
rG29545986bdf6: sctp: avoid LOR
Diff Detail
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Comment Actions
Because
SCTP_INP_INFO_RLOCK(); new_vtag = sctp_select_a_tag(stcb->sctp_ep, stcb->sctp_ep->sctp_lport, stcb->rport, 1); SCTP_INP_INFO_RLOCK();
should have been
SCTP_INP_INFO_RLOCK(); new_vtag = sctp_select_a_tag(stcb->sctp_ep, stcb->sctp_ep->sctp_lport, stcb->rport, 1); SCTP_INP_INFO_RUNLOCK();
(the difference is in the last line).