Do more argument validation under INVARIANTS when starting/stopping
an SCTP timer. MFC after: 1 week
This commit is contained in:
parent
147052684d
commit
f4cb790a35
@ -1730,9 +1730,14 @@ sctp_timeout_handler(void *t)
|
||||
#endif
|
||||
|
||||
/* sanity checks... */
|
||||
KASSERT(tmr->self == tmr, ("tmr->self corrupted"));
|
||||
KASSERT(SCTP_IS_TIMER_TYPE_VALID(tmr->type), ("Invalid timer type %d", tmr->type));
|
||||
KASSERT(tmr->self == tmr,
|
||||
("sctp_timeout_handler: tmr->self corrupted"));
|
||||
KASSERT(SCTP_IS_TIMER_TYPE_VALID(tmr->type),
|
||||
("sctp_timeout_handler: invalid timer type %d", tmr->type));
|
||||
type = tmr->type;
|
||||
KASSERT(stcb == NULL || stcb->sctp_ep == inp,
|
||||
("sctp_timeout_handler of type %d: inp = %p, stcb->sctp_ep %p",
|
||||
type, stcb, stcb->sctp_ep));
|
||||
if (inp) {
|
||||
SCTP_INP_INCR_REF(inp);
|
||||
}
|
||||
@ -2147,6 +2152,9 @@ sctp_timer_start(int t_type, struct sctp_inpcb *inp, struct sctp_tcb *stcb,
|
||||
uint32_t to_ticks;
|
||||
uint32_t rndval, jitter;
|
||||
|
||||
KASSERT(stcb == NULL || stcb->sctp_ep == inp,
|
||||
("sctp_timer_start of type %d: inp = %p, stcb->sctp_ep %p",
|
||||
t_type, stcb, stcb->sctp_ep));
|
||||
tmr = NULL;
|
||||
to_ticks = 0;
|
||||
if (stcb != NULL) {
|
||||
@ -2581,6 +2589,9 @@ sctp_timer_stop(int t_type, struct sctp_inpcb *inp, struct sctp_tcb *stcb,
|
||||
{
|
||||
struct sctp_timer *tmr;
|
||||
|
||||
KASSERT(stcb == NULL || stcb->sctp_ep == inp,
|
||||
("sctp_timer_stop of type %d: inp = %p, stcb->sctp_ep %p",
|
||||
t_type, stcb, stcb->sctp_ep));
|
||||
if (stcb != NULL) {
|
||||
SCTP_TCB_LOCK_ASSERT(stcb);
|
||||
} else if (inp != NULL) {
|
||||
|
Loading…
Reference in New Issue
Block a user