AMD64 - Refactor uio_resid and size_t assumptions.
[dragonfly.git] / sys / net / tap / if_tap.c
index b635a8d..4815445 100644 (file)
@@ -831,11 +831,11 @@ tapread(struct dev_read_args *ap)
 
        /* xfer packet to user space */
        while ((m0 != NULL) && (uio->uio_resid > 0) && (error == 0)) {
-               len = min(uio->uio_resid, m0->m_len);
+               len = (int)szmin(uio->uio_resid, m0->m_len);
                if (len == 0)
                        break;
 
-               error = uiomove(mtod(m0, caddr_t), len, uio);
+               error = uiomove(mtod(m0, caddr_t), (size_t)len, uio);
                m0 = m_free(m0);
        }
 
@@ -865,7 +865,8 @@ tapwrite(struct dev_write_args *ap)
        struct tap_softc        *tp = dev->si_drv1;
        struct ifnet            *ifp = &tp->tap_if;
        struct mbuf             *top = NULL, **mp = NULL, *m = NULL;
-       int                      error = 0, tlen, mlen;
+       int                     error = 0;
+       size_t                  tlen, mlen;
 
        TAPDEBUG(ifp, "writing, minor = %#x\n", minor(tp->tap_dev));
 
@@ -878,8 +879,8 @@ tapwrite(struct dev_write_args *ap)
        if (uio->uio_resid == 0)
                return (0);
 
-       if ((uio->uio_resid < 0) || (uio->uio_resid > TAPMRU)) {
-               TAPDEBUG(ifp, "invalid packet len = %d, minor = %#x\n",
+       if (uio->uio_resid > TAPMRU) {
+               TAPDEBUG(ifp, "invalid packet len = %ld, minor = %#x\n",
                         uio->uio_resid, minor(tp->tap_dev));
 
                return (EIO);
@@ -895,8 +896,8 @@ tapwrite(struct dev_write_args *ap)
        top = 0;
        mp = &top;
        while ((error == 0) && (uio->uio_resid > 0)) {
-               m->m_len = min(mlen, uio->uio_resid);
-               error = uiomove(mtod(m, caddr_t), m->m_len, uio);
+               m->m_len = (int)szmin(mlen, uio->uio_resid);
+               error = uiomove(mtod(m, caddr_t), (size_t)m->m_len, uio);
                *mp = m;
                mp = &m->m_next;
                if (uio->uio_resid > 0) {
@@ -915,7 +916,7 @@ tapwrite(struct dev_write_args *ap)
                return (error);
        }
 
-       top->m_pkthdr.len = tlen;
+       top->m_pkthdr.len = (int)tlen;
        top->m_pkthdr.rcvif = ifp;
        
        /*