Index: uipc_mbuf.c =================================================================== RCS file: /cvs/src/sys/kern/uipc_mbuf.c,v retrieving revision 1.218 diff -u -p -r1.218 uipc_mbuf.c --- uipc_mbuf.c 31 Jan 2016 00:18:07 -0000 1.218 +++ uipc_mbuf.c 9 Feb 2016 12:16:56 -0000 @@ -581,12 +581,18 @@ m_copym0(struct mbuf *m0, int off, int l n->m_len = M_TRAILINGSPACE(n); n->m_len = min(n->m_len, len); n->m_len = min(n->m_len, m->m_len - off); + n->m_data += m->m_data - m->m_ext.ext_buf; + n->m_data += off; memcpy(mtod(n, caddr_t), mtod(m, caddr_t) + off, n->m_len); } - } else + } else { + n->m_data += m->m_data - + (m->m_flags & M_PKTHDR ? m->m_pktdat : m->m_dat); + n->m_data += off; memcpy(mtod(n, caddr_t), mtod(m, caddr_t) + off, n->m_len); + } if (len != M_COPYALL) len -= n->m_len; off += n->m_len;