Author: adrian
Date: Wed May 27 01:56:37 2009
New Revision: 192870
URL: http://svn.freebsd.org/changeset/base/192870

Log:
  Do the invariant check before the mbuf is dereferenced.

Modified:
  head/sys/dev/xen/netfront/netfront.c

Modified: head/sys/dev/xen/netfront/netfront.c
==============================================================================
--- head/sys/dev/xen/netfront/netfront.c        Wed May 27 01:54:26 2009        
(r192869)
+++ head/sys/dev/xen/netfront/netfront.c        Wed May 27 01:56:37 2009        
(r192870)
@@ -1065,6 +1065,8 @@ xn_txeof(struct netfront_info *np)
 
                        id = txr->id;
                        m = np->xn_cdata.xn_tx_chain[id]; 
+                       KASSERT(m != NULL, ("mbuf not found in xn_tx_chain"));
+                       M_ASSERTVALID(m);
                        
                        /*
                         * Increment packet count if this is the last
@@ -1072,8 +1074,6 @@ xn_txeof(struct netfront_info *np)
                         */
                        if (!m->m_next)
                                ifp->if_opackets++;
-                       KASSERT(m != NULL, ("mbuf not found in xn_tx_chain"));
-                       M_ASSERTVALID(m);
                        if (unlikely(gnttab_query_foreign_access(
                            np->grant_tx_ref[id]) != 0)) {
                                printf("network_tx_buf_gc: warning "
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to