svn commit: r364576 - stable/12/sys/netinet
Michael Tuexen
tuexen at FreeBSD.org
Sun Aug 23 22:30:53 UTC 2020
Author: tuexen
Date: Sun Aug 23 22:30:52 2020
New Revision: 364576
URL: https://svnweb.freebsd.org/changeset/base/364576
Log:
MFC r359657:
Do more argument validation under INVARIANTS when starting/stopping
an SCTP timer.
Modified:
stable/12/sys/netinet/sctputil.c
Directory Properties:
stable/12/ (props changed)
Modified: stable/12/sys/netinet/sctputil.c
==============================================================================
--- stable/12/sys/netinet/sctputil.c Sun Aug 23 22:28:19 2020 (r364575)
+++ stable/12/sys/netinet/sctputil.c Sun Aug 23 22:30:52 2020 (r364576)
@@ -1726,9 +1726,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);
}
@@ -2142,6 +2147,9 @@ sctp_timer_start(int t_type, struct sctp_inpcb *inp, s
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) {
@@ -2576,6 +2584,9 @@ sctp_timer_stop(int t_type, struct sctp_inpcb *inp, st
{
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) {
More information about the svn-src-all
mailing list