M_NOFREE
if (m->m_flags & M_NOFREE) {
MPASS((flags & M_NOFREE) == 0);
KASSERT((m->m_flags & M_NOFREE) == 0, ("%s: M_NOFREE set", __func__));
MPASS((flags & M_NOFREE) == 0);
(void)m_init(&m, M_NOWAIT, MT_DATA, M_NOFREE | M_PKTHDR);
if ((m->m_flags & (M_PKTHDR|M_NOFREE)) == (M_PKTHDR|M_NOFREE))
else if ((m->m_flags & M_NOFREE) == 0)
(M_EXT | M_RDONLY | M_NOFREE | M_EXTPG)