svn commit: r192870 - head/sys/dev/xen/netfront

Adrian Chadd adrian at FreeBSD.org
Wed May 27 01:56:38 UTC 2009


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 "


More information about the svn-src-head mailing list