summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormarkj <markj@FreeBSD.org>2016-03-02 05:05:02 +0000
committermarkj <markj@FreeBSD.org>2016-03-02 05:05:02 +0000
commitdc83a3d34026d554efde6a0b093478f5417a27ce (patch)
treef03155d30b923dbf98c1085d2a4e127d929a1db8
parent33b572c3379931cdf4c3cc9b7dfadbb894c3024b (diff)
downloadFreeBSD-src-dc83a3d34026d554efde6a0b093478f5417a27ce.zip
FreeBSD-src-dc83a3d34026d554efde6a0b093478f5417a27ce.tar.gz
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
-rw-r--r--sys/dev/usb/net/uhso.c9
1 files 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);
OpenPOWER on IntegriCloud