From dc83a3d34026d554efde6a0b093478f5417a27ce Mon Sep 17 00:00:00 2001 From: markj Date: Wed, 2 Mar 2016 05:05:02 +0000 Subject: Use m_catpkt(9) to ensure that pkthdr fields are updated properly. Reviewed by: glebius MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D5497 --- sys/dev/usb/net/uhso.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/sys/dev/usb/net/uhso.c b/sys/dev/usb/net/uhso.c index f2afb0b..99b9c5f 100644 --- a/sys/dev/usb/net/uhso.c +++ b/sys/dev/usb/net/uhso.c @@ -1666,7 +1666,7 @@ uhso_if_rxflush(void *arg) struct ip6_hdr *ip6; #endif uint16_t iplen; - int len, isr; + int isr; m = NULL; mwait = sc->sc_mwait; @@ -1686,13 +1686,8 @@ uhso_if_rxflush(void *arg) UHSO_DPRINTF(3, "partial m0=%p(%d), concat w/ m=%p(%d)\n", m0, m0->m_len, m, m->m_len); - len = m->m_len + m0->m_len; - - /* Concat mbufs and fix headers */ - m_cat(m0, m); - m0->m_pkthdr.len = len; - m->m_flags &= ~M_PKTHDR; + m_catpkt(m0, m); m = m_pullup(m0, sizeof(struct ip)); if (m == NULL) { if_inc_counter(ifp, IFCOUNTER_IERRORS, 1); -- cgit v1.1