summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authordillon <dillon@FreeBSD.org>2002-02-05 02:00:56 +0000
committerdillon <dillon@FreeBSD.org>2002-02-05 02:00:56 +0000
commitb3ddc72561f16866b59e6109d6803494f0d06caa (patch)
treeddce9732dedf55dfc29f00f3efed3b0ce5e9788e /sys
parent0511c3ea5ba32c8d8794bbaecfb500020b2d7f0f (diff)
downloadFreeBSD-src-b3ddc72561f16866b59e6109d6803494f0d06caa.zip
FreeBSD-src-b3ddc72561f16866b59e6109d6803494f0d06caa.tar.gz
Get rid of the twisted MFREE() macro entirely.
Reviewed by: dg, bmilekic MFC after: 3 days
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/cnw/if_cnw.c10
-rw-r--r--sys/dev/lnc/if_lnc.c12
-rw-r--r--sys/dev/vx/if_vx.c26
-rw-r--r--sys/kern/uipc_mbuf.c11
-rw-r--r--sys/kern/uipc_sockbuf.c13
-rw-r--r--sys/kern/uipc_socket.c4
-rw-r--r--sys/kern/uipc_socket2.c13
-rw-r--r--sys/net/if_ppp.c5
-rw-r--r--sys/net/if_sl.c4
-rw-r--r--sys/net/if_tap.c23
-rw-r--r--sys/net/if_tun.c21
-rw-r--r--sys/net/ppp_tty.c4
-rw-r--r--sys/netgraph/ng_async.c8
-rw-r--r--sys/netgraph/ng_tty.c4
-rw-r--r--sys/sys/mbuf.h4
15 files changed, 67 insertions, 95 deletions
diff --git a/sys/dev/cnw/if_cnw.c b/sys/dev/cnw/if_cnw.c
index fdfb903..4414fc5 100644
--- a/sys/dev/cnw/if_cnw.c
+++ b/sys/dev/cnw/if_cnw.c
@@ -869,12 +869,11 @@ cnw_start(ifp)
* Transmit a packet.
*/
void
-cnw_transmit(sc, m0)
+cnw_transmit(sc, m)
struct cnw_softc *sc;
- struct mbuf *m0;
+ struct mbuf *m;
{
int buffer, bufsize, bufoffset, bufptr, bufspace, len, mbytes, n;
- struct mbuf *m;
u_int8_t *mptr;
/* Get buffer info from card */
@@ -891,7 +890,7 @@ cnw_transmit(sc, m0)
bufptr = sc->sc_memoff + buffer + bufoffset;
bufspace = bufsize;
len = 0;
- for (m = m0; m; ) {
+ while (m) {
mptr = mtod(m, u_int8_t *);
mbytes = m->m_len;
len += mbytes;
@@ -914,8 +913,7 @@ cnw_transmit(sc, m0)
mptr += n;
mbytes -= n;
}
- MFREE(m, m0);
- m = m0;
+ m = m_free(m);
}
/* Issue transmit command */
diff --git a/sys/dev/lnc/if_lnc.c b/sys/dev/lnc/if_lnc.c
index 9028b98..1630928 100644
--- a/sys/dev/lnc/if_lnc.c
+++ b/sys/dev/lnc/if_lnc.c
@@ -833,9 +833,11 @@ lnc_tint(struct lnc_softc *sc)
sc->mbuf_count++;
start->buff.mbuf = 0;
} else {
- struct mbuf *junk;
- MFREE(start->buff.mbuf, junk);
- start->buff.mbuf = 0;
+ /*
+ * XXX should this be m_freem()?
+ */
+ m_free(start->buff.mbuf);
+ start->buff.mbuf = NULL;
}
}
sc->pending_transmits--;
@@ -1308,8 +1310,8 @@ lnc_start(struct ifnet *ifp)
m->m_len -= chunk;
m->m_data += chunk;
if (m->m_len <= 0) {
- MFREE(m, head->m_next);
- m = head->m_next;
+ m = m_free(m);
+ head->m_next = m;
}
}
}
diff --git a/sys/dev/vx/if_vx.c b/sys/dev/vx/if_vx.c
index 21152ab..af0e7b0 100644
--- a/sys/dev/vx/if_vx.c
+++ b/sys/dev/vx/if_vx.c
@@ -390,7 +390,7 @@ vxstart(ifp)
struct ifnet *ifp;
{
register struct vx_softc *sc = ifp->if_softc;
- register struct mbuf *m, *m0;
+ register struct mbuf *m;
int sh, len, pad;
/* Don't transmit if interface is busy or not running */
@@ -399,14 +399,14 @@ vxstart(ifp)
startagain:
/* Sneak a peek at the next packet */
- m0 = ifp->if_snd.ifq_head;
- if (m0 == 0) {
+ m = ifp->if_snd.ifq_head;
+ if (m == NULL) {
return;
}
/* We need to use m->m_pkthdr.len, so require the header */
- if ((m0->m_flags & M_PKTHDR) == 0)
+ if ((m->m_flags & M_PKTHDR) == 0)
panic("vxstart: no header mbuf");
- len = m0->m_pkthdr.len;
+ len = m->m_pkthdr.len;
pad = (4 - len) & 3;
@@ -418,8 +418,8 @@ startagain:
if (len + pad > ETHER_MAX_LEN) {
/* packet is obviously too large: toss it */
++ifp->if_oerrors;
- IF_DEQUEUE(&ifp->if_snd, m0);
- m_freem(m0);
+ IF_DEQUEUE(&ifp->if_snd, m);
+ m_freem(m);
goto readcheck;
}
VX_BUSY_WAIT;
@@ -433,17 +433,16 @@ startagain:
}
}
CSR_WRITE_2(sc, VX_COMMAND, SET_TX_AVAIL_THRESH | (8188 >> 2));
- IF_DEQUEUE(&ifp->if_snd, m0);
- if (m0 == 0) { /* not really needed */
+ IF_DEQUEUE(&ifp->if_snd, m);
+ if (m == NULL) /* not really needed */
return;
- }
VX_BUSY_WAIT;
CSR_WRITE_2(sc, VX_COMMAND, SET_TX_START_THRESH |
((len / 4 + sc->tx_start_thresh) >> 2));
if (sc->arpcom.ac_if.if_bpf) {
- bpf_mtap(&sc->arpcom.ac_if, m0);
+ bpf_mtap(&sc->arpcom.ac_if, m);
}
/*
@@ -454,7 +453,7 @@ startagain:
CSR_WRITE_4(sc, VX_W1_TX_PIO_WR_1, len | TX_INDICATE);
- for (m = m0; m != 0;) {
+ while (m) {
if (m->m_len > 3)
bus_space_write_multi_4(sc->vx_btag, sc->vx_bhandle,
VX_W1_TX_PIO_WR_1, (u_int32_t *)mtod(m, caddr_t), m->m_len / 4);
@@ -462,8 +461,7 @@ startagain:
bus_space_write_multi_1(sc->vx_btag, sc->vx_bhandle,
VX_W1_TX_PIO_WR_1,
mtod(m, caddr_t) + (m->m_len & ~3) , m->m_len & 3);
- MFREE(m, m0);
- m = m0;
+ m = m_free(m);
}
while (pad--)
CSR_WRITE_1(sc, VX_W1_TX_PIO_WR_1, 0); /* Padding */
diff --git a/sys/kern/uipc_mbuf.c b/sys/kern/uipc_mbuf.c
index 015634d..b420f74 100644
--- a/sys/kern/uipc_mbuf.c
+++ b/sys/kern/uipc_mbuf.c
@@ -131,14 +131,9 @@ failed:
void
m_freem(struct mbuf *m)
{
- struct mbuf *n;
-
- if (m == NULL)
- return;
- do {
- MFREE(m, n);
- m = n;
- } while (m);
+ while (m) {
+ m = m_free(m);
+ }
}
/*
diff --git a/sys/kern/uipc_sockbuf.c b/sys/kern/uipc_sockbuf.c
index dc1f4cb..40907f9 100644
--- a/sys/kern/uipc_sockbuf.c
+++ b/sys/kern/uipc_sockbuf.c
@@ -777,7 +777,7 @@ sbdrop(sb, len)
register struct sockbuf *sb;
register int len;
{
- register struct mbuf *m, *mn;
+ register struct mbuf *m;
struct mbuf *next;
next = (m = sb->sb_mb) ? m->m_nextpkt : 0;
@@ -797,13 +797,11 @@ sbdrop(sb, len)
}
len -= m->m_len;
sbfree(sb, m);
- MFREE(m, mn);
- m = mn;
+ m = m_free(m);
}
while (m && m->m_len == 0) {
sbfree(sb, m);
- MFREE(m, mn);
- m = mn;
+ m = m_free(m);
}
if (m) {
sb->sb_mb = m;
@@ -820,15 +818,14 @@ void
sbdroprecord(sb)
register struct sockbuf *sb;
{
- register struct mbuf *m, *mn;
+ register struct mbuf *m;
m = sb->sb_mb;
if (m) {
sb->sb_mb = m->m_nextpkt;
do {
sbfree(sb, m);
- MFREE(m, mn);
- m = mn;
+ m = m_free(m);
} while (m);
}
}
diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c
index d81a97d..68e15f7 100644
--- a/sys/kern/uipc_socket.c
+++ b/sys/kern/uipc_socket.c
@@ -809,7 +809,7 @@ dontblock:
m = m->m_next;
} else {
sbfree(&so->so_rcv, m);
- MFREE(m, so->so_rcv.sb_mb);
+ so->so_rcv.sb_mb = m_free(m);
m = so->so_rcv.sb_mb;
}
}
@@ -893,7 +893,7 @@ dontblock:
so->so_rcv.sb_mb = m = m->m_next;
*mp = (struct mbuf *)0;
} else {
- MFREE(m, so->so_rcv.sb_mb);
+ so->so_rcv.sb_mb = m_free(m);
m = so->so_rcv.sb_mb;
}
if (m)
diff --git a/sys/kern/uipc_socket2.c b/sys/kern/uipc_socket2.c
index dc1f4cb..40907f9 100644
--- a/sys/kern/uipc_socket2.c
+++ b/sys/kern/uipc_socket2.c
@@ -777,7 +777,7 @@ sbdrop(sb, len)
register struct sockbuf *sb;
register int len;
{
- register struct mbuf *m, *mn;
+ register struct mbuf *m;
struct mbuf *next;
next = (m = sb->sb_mb) ? m->m_nextpkt : 0;
@@ -797,13 +797,11 @@ sbdrop(sb, len)
}
len -= m->m_len;
sbfree(sb, m);
- MFREE(m, mn);
- m = mn;
+ m = m_free(m);
}
while (m && m->m_len == 0) {
sbfree(sb, m);
- MFREE(m, mn);
- m = mn;
+ m = m_free(m);
}
if (m) {
sb->sb_mb = m;
@@ -820,15 +818,14 @@ void
sbdroprecord(sb)
register struct sockbuf *sb;
{
- register struct mbuf *m, *mn;
+ register struct mbuf *m;
m = sb->sb_mb;
if (m) {
sb->sb_mb = m->m_nextpkt;
do {
sbfree(sb, m);
- MFREE(m, mn);
- m = mn;
+ m = m_free(m);
} while (m);
}
}
diff --git a/sys/net/if_ppp.c b/sys/net/if_ppp.c
index 8f7c38d..82c16e0 100644
--- a/sys/net/if_ppp.c
+++ b/sys/net/if_ppp.c
@@ -1401,9 +1401,10 @@ ppp_inproc(sc, m)
if (m->m_len <= M_TRAILINGSPACE(mp)) {
bcopy(mtod(m, u_char *), mtod(mp, u_char *) + mp->m_len, m->m_len);
mp->m_len += m->m_len;
- MFREE(m, mp->m_next);
- } else
+ mp->m_next = m_free(m);
+ } else {
mp->m_next = m;
+ }
m = mp;
ilen += hlen - xlen;
diff --git a/sys/net/if_sl.c b/sys/net/if_sl.c
index 7d3b51d..228f396 100644
--- a/sys/net/if_sl.c
+++ b/sys/net/if_sl.c
@@ -601,7 +601,6 @@ slstart(tp)
register u_char *cp;
register struct ip *ip;
int s;
- struct mbuf *m2;
register int len = 0;
for (;;) {
@@ -761,8 +760,7 @@ slstart(tp)
sc->sc_if.if_obytes += 2;
}
}
- MFREE(m, m2);
- m = m2;
+ m = m_free(m);
}
if (putc(FRAME_END, &tp->t_outq)) {
diff --git a/sys/net/if_tap.c b/sys/net/if_tap.c
index 5505a60..da0fb8a 100644
--- a/sys/net/if_tap.c
+++ b/sys/net/if_tap.c
@@ -768,7 +768,7 @@ tapread(dev, uio, flag)
{
struct tap_softc *tp = dev->si_drv1;
struct ifnet *ifp = &tp->tap_if;
- struct mbuf *m = NULL, *m0 = NULL;
+ struct mbuf *m = NULL;
int error = 0, len, s;
TAPDEBUG("%s%d reading, minor = %#x\n",
@@ -786,10 +786,10 @@ tapread(dev, uio, flag)
/* sleep until we get a packet */
do {
s = splimp();
- IF_DEQUEUE(&ifp->if_snd, m0);
+ IF_DEQUEUE(&ifp->if_snd, m);
splx(s);
- if (m0 == NULL) {
+ if (m == NULL) {
if (flag & IO_NDELAY)
return (EWOULDBLOCK);
@@ -798,27 +798,26 @@ tapread(dev, uio, flag)
if (error)
return (error);
}
- } while (m0 == NULL);
+ } while (m == NULL);
/* feed packet to bpf */
if (ifp->if_bpf != NULL)
- bpf_mtap(ifp, m0);
+ bpf_mtap(ifp, m);
/* xfer packet to user space */
- while ((m0 != NULL) && (uio->uio_resid > 0) && (error == 0)) {
- len = min(uio->uio_resid, m0->m_len);
+ while ((m != NULL) && (uio->uio_resid > 0) && (error == 0)) {
+ len = min(uio->uio_resid, m->m_len);
if (len == 0)
break;
- error = uiomove(mtod(m0, caddr_t), len, uio);
- MFREE(m0, m);
- m0 = m;
+ error = uiomove(mtod(m, caddr_t), len, uio);
+ m = m_free(m);
}
- if (m0 != NULL) {
+ if (m != NULL) {
TAPDEBUG("%s%d dropping mbuf, minor = %#x\n", ifp->if_name,
ifp->if_unit, minor(dev));
- m_freem(m0);
+ m_freem(m);
}
return (error);
diff --git a/sys/net/if_tun.c b/sys/net/if_tun.c
index 20f7437..f116b1d 100644
--- a/sys/net/if_tun.c
+++ b/sys/net/if_tun.c
@@ -636,7 +636,7 @@ tunread(dev_t dev, struct uio *uio, int flag)
{
struct tun_softc *tp = dev->si_drv1;
struct ifnet *ifp = &tp->tun_if;
- struct mbuf *m, *m0;
+ struct mbuf *m;
int error=0, len, s;
TUNDEBUG ("%s%d: read\n", ifp->if_name, ifp->if_unit);
@@ -650,8 +650,8 @@ tunread(dev_t dev, struct uio *uio, int flag)
s = splimp();
do {
- IF_DEQUEUE(&ifp->if_snd, m0);
- if (m0 == 0) {
+ IF_DEQUEUE(&ifp->if_snd, m);
+ if (m == NULL) {
if (flag & IO_NDELAY) {
splx(s);
return EWOULDBLOCK;
@@ -663,20 +663,19 @@ tunread(dev_t dev, struct uio *uio, int flag)
return error;
}
}
- } while (m0 == 0);
+ } while (m == NULL);
splx(s);
- while (m0 && uio->uio_resid > 0 && error == 0) {
- len = min(uio->uio_resid, m0->m_len);
+ while (m && uio->uio_resid > 0 && error == 0) {
+ len = min(uio->uio_resid, m->m_len);
if (len != 0)
- error = uiomove(mtod(m0, caddr_t), len, uio);
- MFREE(m0, m);
- m0 = m;
+ error = uiomove(mtod(m, caddr_t), len, uio);
+ m = m_free(m);
}
- if (m0) {
+ if (m) {
TUNDEBUG("%s%d: Dropping mbuf\n", ifp->if_name, ifp->if_unit);
- m_freem(m0);
+ m_freem(m);
}
return error;
}
diff --git a/sys/net/ppp_tty.c b/sys/net/ppp_tty.c
index 635e7ad..3838286 100644
--- a/sys/net/ppp_tty.c
+++ b/sys/net/ppp_tty.c
@@ -549,7 +549,6 @@ pppasyncstart(sc)
register int len;
register u_char *start, *stop, *cp;
int n, ndone, done, idle;
- struct mbuf *m2;
int s;
idle = 0;
@@ -687,8 +686,7 @@ pppasyncstart(sc)
}
/* Finished with this mbuf; free it and move on. */
- MFREE(m, m2);
- m = m2;
+ m = m_free(m);
if (m == NULL) {
/* Finished a packet */
break;
diff --git a/sys/netgraph/ng_async.c b/sys/netgraph/ng_async.c
index f88fd70..08ac40e 100644
--- a/sys/netgraph/ng_async.c
+++ b/sys/netgraph/ng_async.c
@@ -472,15 +472,12 @@ nga_rcv_sync(const sc_p sc, item_p item)
/* Add packet payload */
while (m != NULL) {
- struct mbuf *n;
-
while (m->m_len > 0) {
ADD_BYTE(*mtod(m, u_char *));
m->m_data++;
m->m_len--;
}
- MFREE(m, n);
- m = n;
+ m = m_free(m);
}
/* Add checksum and final sync flag */
@@ -597,8 +594,7 @@ reset:
sc->fcs = PPP_FCS(sc->fcs, ch);
}
}
- MFREE(m, n);
- m = n;
+ m = m_free(m);
}
if (item)
NG_FREE_ITEM(item);
diff --git a/sys/netgraph/ng_tty.c b/sys/netgraph/ng_tty.c
index 71eb758..6b0a388 100644
--- a/sys/netgraph/ng_tty.c
+++ b/sys/netgraph/ng_tty.c
@@ -422,7 +422,6 @@ ngt_start(struct tty *tp)
/* Send as much of it as possible */
while (m) {
- struct mbuf *m2;
int sent;
sent = m->m_len
@@ -431,8 +430,7 @@ ngt_start(struct tty *tp)
m->m_len -= sent;
if (m->m_len > 0)
break; /* device can't take no more */
- MFREE(m, m2);
- m = m2;
+ m = m_free(m);
}
/* Put remainder of mbuf chain (if any) back on queue */
diff --git a/sys/sys/mbuf.h b/sys/sys/mbuf.h
index d2da1d0..4075a5d 100644
--- a/sys/sys/mbuf.h
+++ b/sys/sys/mbuf.h
@@ -284,10 +284,6 @@ struct mbstat {
#define MCLGET(m, how) m_clget((m), (how))
#define MEXTADD(m, buf, size, free, args, flags, type) \
m_extadd((m), (caddr_t)(buf), (size), (free), (args), (flags), (type))
-#define MFREE(m, n) do { \
- (n) = m_free((m)); \
- (m) = NULL; \
-} while (0)
/*
* MEXTFREE(m): disassociate (and possibly free) an external object from (m).
OpenPOWER on IntegriCloud