Author: andre
Date: Mon Jun 22 19:35:39 2009
New Revision: 194643
URL: http://svn.freebsd.org/changeset/base/194643

Log:
  Update m_demote:
  - remove HT_HEADER test (MT_HEADER == MT_DATA for some time now)
  - be more pedantic about m_nextpkt in other than first mbuf
  - update m_flags to be retained

Modified:
  head/sys/kern/uipc_mbuf.c

Modified: head/sys/kern/uipc_mbuf.c
==============================================================================
--- head/sys/kern/uipc_mbuf.c   Mon Jun 22 19:09:48 2009        (r194642)
+++ head/sys/kern/uipc_mbuf.c   Mon Jun 22 19:35:39 2009        (r194643)
@@ -320,11 +320,13 @@ m_demote(struct mbuf *m0, int all)
                        m->m_flags &= ~M_PKTHDR;
                        bzero(&m->m_pkthdr, sizeof(struct pkthdr));
                }
-               if (m->m_type == MT_HEADER)
-                       m->m_type = MT_DATA;
-               if (m != m0 && m->m_nextpkt != NULL)
+               if (m != m0 && m->m_nextpkt != NULL) {
+                       KASSERT(m->m_nextpkt == NULL,
+                           ("%s: m_nextpkt not NULL", __func__));
+                       m_freem(m->m_nextpkt);
                        m->m_nextpkt = NULL;
-               m->m_flags = m->m_flags & (M_EXT|M_EOR|M_RDONLY|M_FREELIST);
+               }
+               m->m_flags = m->m_flags & (M_EXT|M_RDONLY|M_FREELIST|M_NOFREE);
        }
 }
 
_______________________________________________
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