Change a very strange code in m_demote() to simple assertion.
Sponsored by: Nginx, Inc.
This commit is contained in:
parent
01ecfa68a7
commit
0e01998d71
@ -393,17 +393,13 @@ m_demote(struct mbuf *m0, int all)
|
||||
struct mbuf *m;
|
||||
|
||||
for (m = all ? m0 : m0->m_next; m != NULL; m = m->m_next) {
|
||||
KASSERT(m->m_nextpkt == NULL, ("%s: m_nextpkt in m %p, m0 %p",
|
||||
__func__, m, m0));
|
||||
if (m->m_flags & M_PKTHDR) {
|
||||
m_tag_delete_chain(m, NULL);
|
||||
m->m_flags &= ~M_PKTHDR;
|
||||
bzero(&m->m_pkthdr, sizeof(struct pkthdr));
|
||||
}
|
||||
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_RDONLY|M_NOFREE);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user