From owner-svn-src-all@freebsd.org Mon Apr 18 09:29:15 2016 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DB29BB1173C; Mon, 18 Apr 2016 09:29:15 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9CFFE112E; Mon, 18 Apr 2016 09:29:15 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u3I9TEIv095109; Mon, 18 Apr 2016 09:29:14 GMT (envelope-from tuexen@FreeBSD.org) Received: (from tuexen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u3I9TEA3095105; Mon, 18 Apr 2016 09:29:14 GMT (envelope-from tuexen@FreeBSD.org) Message-Id: <201604180929.u3I9TEA3095105@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tuexen set sender to tuexen@FreeBSD.org using -f From: Michael Tuexen Date: Mon, 18 Apr 2016 09:29:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r298199 - head/sys/netinet X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Apr 2016 09:29:16 -0000 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) &&