1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-02-01 17:00:36 +00:00

Fix a bug in sctp_abort_assoc(). DON'T call the sctp_inpcb_free

when the gone flag is set. You don't know what locks the
caller has set and there is already a kill timer running.

MFC after:	1 week
This commit is contained in:
Randall Stewart 2010-06-06 16:07:40 +00:00
parent 698337f653
commit 3d7001cdcb
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=208874

View File

@ -3823,13 +3823,6 @@ sctp_abort_association(struct sctp_inpcb *inp, struct sctp_tcb *stcb,
#if defined (__APPLE__) || defined(SCTP_SO_LOCK_TESTING)
SCTP_SOCKET_UNLOCK(so, 1);
#endif
} else {
if (inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE) {
if (LIST_FIRST(&inp->sctp_asoc_list) == NULL) {
sctp_inpcb_free(inp, SCTP_FREE_SHOULD_USE_ABORT,
SCTP_CALLED_DIRECTLY_NOCMPSET);
}
}
}
}