summaryrefslogtreecommitdiff
path: root/sys/netinet
diff options
context:
space:
mode:
authorKevin Lo <kevlo@FreeBSD.org>2016-09-15 07:41:48 +0000
committerKevin Lo <kevlo@FreeBSD.org>2016-09-15 07:41:48 +0000
commitc3bef61e584084a8f86fba71cb344f15fc20491c (patch)
treee55fa8ff38c04c3cbeb8c1f0965d9bc0213f4d61 /sys/netinet
parent6c6e3889290a73ddae85c68de44d928a838501ed (diff)
Notes
Diffstat (limited to 'sys/netinet')
-rw-r--r--sys/netinet/ip_input.c2
-rw-r--r--sys/netinet/ip_mroute.c8
-rw-r--r--sys/netinet/raw_ip.c4
-rw-r--r--sys/netinet/tcp_output.c2
-rw-r--r--sys/netinet/udp_usrreq.c3
5 files changed, 10 insertions, 9 deletions
diff --git a/sys/netinet/ip_input.c b/sys/netinet/ip_input.c
index 3a07ad89d1029..1d86242e761d3 100644
--- a/sys/netinet/ip_input.c
+++ b/sys/netinet/ip_input.c
@@ -1000,7 +1000,7 @@ ip_forward(struct mbuf *m, int srcrt)
* because unnecessary, or because rate limited), so we are
* really we are wasting a lot of work here.
*
- * We don't use m_copy() because it might return a reference
+ * We don't use m_copym() because it might return a reference
* to a shared cluster. Both this function and ip_output()
* assume exclusive access to the IP header in `m', so any
* data in a cluster may change before we reach icmp_error().
diff --git a/sys/netinet/ip_mroute.c b/sys/netinet/ip_mroute.c
index d6164ef906266..c0730caca8f4b 100644
--- a/sys/netinet/ip_mroute.c
+++ b/sys/netinet/ip_mroute.c
@@ -1344,7 +1344,7 @@ X_ip_mforward(struct ip *ip, struct ifnet *ifp, struct mbuf *m,
goto fail;
/* Make a copy of the header to send to the user level process */
- mm = m_copy(mb0, 0, hlen);
+ mm = m_copym(mb0, 0, hlen, M_NOWAIT);
if (mm == NULL)
goto fail1;
@@ -1542,7 +1542,7 @@ ip_mdq(struct mbuf *m, struct ifnet *ifp, struct mfc *rt, vifi_t xmt_vif)
struct sockaddr_in k_igmpsrc = { sizeof k_igmpsrc, AF_INET };
struct igmpmsg *im;
int hlen = ip->ip_hl << 2;
- struct mbuf *mm = m_copy(m, 0, hlen);
+ struct mbuf *mm = m_copym(m, 0, hlen, M_NOWAIT);
if (mm && (!M_WRITABLE(mm) || mm->m_len < hlen))
mm = m_pullup(mm, hlen);
@@ -2734,9 +2734,9 @@ pim_input(struct mbuf **mp, int *offp, int proto)
* actions (e.g., send back PIM_REGISTER_STOP).
* XXX: here m->m_data points to the outer IP header.
*/
- mcp = m_copy(m, 0, iphlen + PIM_REG_MINLEN);
+ mcp = m_copym(m, 0, iphlen + PIM_REG_MINLEN, M_NOWAIT);
if (mcp == NULL) {
- CTR1(KTR_IPMF, "%s: m_copy() failed", __func__);
+ CTR1(KTR_IPMF, "%s: m_copym() failed", __func__);
m_freem(m);
return (IPPROTO_DONE);
}
diff --git a/sys/netinet/raw_ip.c b/sys/netinet/raw_ip.c
index 6d409547029bc..d741cc7f85115 100644
--- a/sys/netinet/raw_ip.c
+++ b/sys/netinet/raw_ip.c
@@ -322,7 +322,7 @@ rip_input(struct mbuf **mp, int *offp, int proto)
if (last != NULL) {
struct mbuf *n;
- n = m_copy(m, 0, (int)M_COPYALL);
+ n = m_copym(m, 0, M_COPYALL, M_NOWAIT);
if (n != NULL)
(void) rip_append(last, ip, n, &ripsrc);
/* XXX count dropped packet */
@@ -400,7 +400,7 @@ rip_input(struct mbuf **mp, int *offp, int proto)
if (last != NULL) {
struct mbuf *n;
- n = m_copy(m, 0, (int)M_COPYALL);
+ n = m_copym(m, 0, M_COPYALL, M_NOWAIT);
if (n != NULL)
(void) rip_append(last, ip, n, &ripsrc);
/* XXX count dropped packet */
diff --git a/sys/netinet/tcp_output.c b/sys/netinet/tcp_output.c
index e1d9488a7b9b3..454405149fe0a 100644
--- a/sys/netinet/tcp_output.c
+++ b/sys/netinet/tcp_output.c
@@ -1049,7 +1049,7 @@ send:
mtod(m, caddr_t) + hdrlen);
m->m_len += len;
} else {
- m->m_next = m_copy(mb, moff, (int)len);
+ m->m_next = m_copym(mb, moff, len, M_NOWAIT);
if (m->m_next == NULL) {
SOCKBUF_UNLOCK(&so->so_snd);
(void) m_free(m);
diff --git a/sys/netinet/udp_usrreq.c b/sys/netinet/udp_usrreq.c
index ce8847d405924..04d116d822431 100644
--- a/sys/netinet/udp_usrreq.c
+++ b/sys/netinet/udp_usrreq.c
@@ -597,7 +597,8 @@ udp_input(struct mbuf **mp, int *offp, int proto)
if (last != NULL) {
struct mbuf *n;
- if ((n = m_copy(m, 0, M_COPYALL)) != NULL) {
+ if ((n = m_copym(m, 0, M_COPYALL, M_NOWAIT)) !=
+ NULL) {
UDP_PROBE(receive, NULL, last, ip,
last, uh);
if (udp_append(last, ip, n, iphlen,