Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 Apr 2016 09:29:14 +0000 (UTC)
From:      Michael Tuexen <tuexen@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r298199 - head/sys/netinet
Message-ID:  <201604180929.u3I9TEA3095105@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: tuexen
Date: Mon Apr 18 09:29:14 2016
New Revision: 298199
URL: https://svnweb.freebsd.org/changeset/base/298199

Log:
  Put panic() calls under INVARIANTS.

Modified:
  head/sys/netinet/sctp_indata.c
  head/sys/netinet/sctp_input.c
  head/sys/netinet/sctputil.c

Modified: head/sys/netinet/sctp_indata.c
==============================================================================
--- head/sys/netinet/sctp_indata.c	Mon Apr 18 08:30:52 2016	(r298198)
+++ head/sys/netinet/sctp_indata.c	Mon Apr 18 09:29:14 2016	(r298199)
@@ -570,9 +570,11 @@ protocol_error:
 				sctp_ucount_decr(asoc->cnt_on_all_streams);
 				if (control->on_strm_q == SCTP_ON_ORDERED) {
 					TAILQ_REMOVE(&strm->inqueue, control, next_instrm);
+#ifdef INVARIANTS
 				} else {
 					panic("Huh control: %p is on_strm_q: %d",
 					    control, control->on_strm_q);
+#endif
 				}
 				control->on_strm_q = 0;
 				strm->last_sequence_delivered++;
@@ -674,7 +676,11 @@ sctp_add_to_tail_pointer(struct sctp_que
 
 	stcb = control->stcb;
 	if (stcb == NULL) {
+#ifdef INVARIANTS
 		panic("Control broken");
+#else
+		return;
+#endif
 	}
 	if (control->tail_mbuf == NULL) {
 		/* TSNH */
@@ -1020,10 +1026,12 @@ sctp_deliver_reasm_check(struct sctp_tcb
 		if (control->end_added) {
 			/* We just put the last bit on */
 			if (control->on_strm_q) {
+#ifdef INVARIANTS
 				if (control->on_strm_q != SCTP_ON_UNORDERED) {
 					panic("Huh control: %p on_q: %d -- not unordered?",
 					    control, control->on_strm_q);
 				}
+#endif
 				TAILQ_REMOVE(&strm->uno_inqueue, control, next_instrm);
 				control->on_strm_q = 0;
 			}
@@ -1072,10 +1080,12 @@ done_un:
 		    strm->last_sequence_delivered);
 		if (control->end_added) {
 			if (control->on_strm_q) {
+#ifdef INVARIANTS
 				if (control->on_strm_q != SCTP_ON_ORDERED) {
 					panic("Huh control: %p on_q: %d -- not ordered?",
 					    control, control->on_strm_q);
 				}
+#endif
 				TAILQ_REMOVE(&strm->inqueue, control, next_instrm);
 				control->on_strm_q = 0;
 			}
@@ -1113,10 +1123,12 @@ deliver_more:
 			if (control->end_added) {
 				/* We are done with it afterwards */
 				if (control->on_strm_q) {
+#ifdef INVARIANTS
 					if (control->on_strm_q != SCTP_ON_ORDERED) {
 						panic("Huh control: %p on_q: %d -- not ordered?",
 						    control, control->on_strm_q);
 					}
+#endif
 					TAILQ_REMOVE(&strm->inqueue, control, next_instrm);
 					control->on_strm_q = 0;
 				}
@@ -1210,9 +1222,11 @@ sctp_add_chk_to_control(struct sctp_queu
 				/* Ordered */
 				TAILQ_REMOVE(&strm->inqueue, control, next_instrm);
 				control->on_strm_q = 0;
+#ifdef INVARIANTS
 			} else if (control->on_strm_q) {
 				panic("Unknown state on ctrl: %p on_strm_q: %d", control,
 				    control->on_strm_q);
+#endif
 			}
 		}
 		control->end_added = 1;
@@ -5167,9 +5181,11 @@ sctp_kick_prsctp_reorder_queue(struct sc
 						TAILQ_REMOVE(&strmin->inqueue, ctl, next_instrm);
 					} else if (ctl->on_strm_q == SCTP_ON_UNORDERED) {
 						TAILQ_REMOVE(&strmin->uno_inqueue, ctl, next_instrm);
+#ifdef INVARIANTS
 					} else {
 						panic("strmin: %p ctl: %p unknown %d",
 						    strmin, ctl, ctl->on_strm_q);
+#endif
 					}
 					ctl->on_strm_q = 0;
 				}
@@ -5230,9 +5246,11 @@ sctp_kick_prsctp_reorder_queue(struct sc
 						TAILQ_REMOVE(&strmin->inqueue, ctl, next_instrm);
 					} else if (ctl->on_strm_q == SCTP_ON_UNORDERED) {
 						TAILQ_REMOVE(&strmin->uno_inqueue, ctl, next_instrm);
+#ifdef INVARIANTS
 					} else {
 						panic("strmin: %p ctl: %p unknown %d",
 						    strmin, ctl, ctl->on_strm_q);
+#endif
 					}
 					ctl->on_strm_q = 0;
 				}
@@ -5493,9 +5511,11 @@ sctp_handle_forward_tsn(struct sctp_tcb 
 						TAILQ_REMOVE(&strm->inqueue, ctl, next_instrm);
 					} else if (ctl->on_strm_q == SCTP_ON_UNORDERED) {
 						TAILQ_REMOVE(&strm->uno_inqueue, ctl, next_instrm);
+#ifdef INVARIANTS
 					} else if (ctl->on_strm_q) {
 						panic("strm: %p ctl: %p unknown %d",
 						    strm, ctl, ctl->on_strm_q);
+#endif
 					}
 					ctl->on_strm_q = 0;
 					stcb->asoc.control_pdapi = ctl;

Modified: head/sys/netinet/sctp_input.c
==============================================================================
--- head/sys/netinet/sctp_input.c	Mon Apr 18 08:30:52 2016	(r298198)
+++ head/sys/netinet/sctp_input.c	Mon Apr 18 09:29:14 2016	(r298199)
@@ -900,10 +900,12 @@ sctp_handle_shutdown(struct sctp_shutdow
 				/* Ordered */
 				TAILQ_REMOVE(&strm->inqueue, asoc->control_pdapi, next_instrm);
 				asoc->control_pdapi->on_strm_q = 0;
+#ifdef INVARIANTS
 			} else {
 				panic("Unknown state on ctrl:%p on_strm_q:%d",
 				    asoc->control_pdapi,
 				    asoc->control_pdapi->on_strm_q);
+#endif
 			}
 		}
 		asoc->control_pdapi->end_added = 1;

Modified: head/sys/netinet/sctputil.c
==============================================================================
--- head/sys/netinet/sctputil.c	Mon Apr 18 08:30:52 2016	(r298198)
+++ head/sys/netinet/sctputil.c	Mon Apr 18 09:29:14 2016	(r298199)
@@ -5565,10 +5565,12 @@ restart_nosblocks:
 			sctp_m_free(control->aux_data);
 			control->aux_data = NULL;
 		}
+#ifdef INVARIANTS
 		if (control->on_strm_q) {
 			panic("About to free ctl:%p so:%p and its in %d",
 			    control, so, control->on_strm_q);
 		}
+#endif
 		sctp_free_remote_addr(control->whoFrom);
 		sctp_free_a_readq(stcb, control);
 		if (hold_rlock) {
@@ -5976,10 +5978,12 @@ get_more_data:
 				no_rcv_needed = control->do_not_ref_stcb;
 				sctp_free_remote_addr(control->whoFrom);
 				control->data = NULL;
+#ifdef INVARIANTS
 				if (control->on_strm_q) {
 					panic("About to free ctl:%p so:%p and its in %d",
 					    control, so, control->on_strm_q);
 				}
+#endif
 				sctp_free_a_readq(stcb, control);
 				control = NULL;
 				if ((freed_so_far >= rwnd_req) &&



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201604180929.u3I9TEA3095105>