Module Name: src Committed By: maxv Date: Thu Apr 26 19:50:09 UTC 2018
Modified Files: src/sys/kern: uipc_socket.c src/sys/netinet6: icmp6.c ip6_forward.c ip6_mroute.c ip6_output.c raw_ip6.c src/sys/netipsec: keysock.c Log Message: Stop using m_copy(), use m_copym() directly. m_copy is useless, undocumented and confusing. To generate a diff of this commit: cvs rdiff -u -r1.262 -r1.263 src/sys/kern/uipc_socket.c cvs rdiff -u -r1.231 -r1.232 src/sys/netinet6/icmp6.c cvs rdiff -u -r1.93 -r1.94 src/sys/netinet6/ip6_forward.c cvs rdiff -u -r1.124 -r1.125 src/sys/netinet6/ip6_mroute.c cvs rdiff -u -r1.205 -r1.206 src/sys/netinet6/ip6_output.c cvs rdiff -u -r1.168 -r1.169 src/sys/netinet6/raw_ip6.c cvs rdiff -u -r1.64 -r1.65 src/sys/netipsec/keysock.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/kern/uipc_socket.c diff -u src/sys/kern/uipc_socket.c:1.262 src/sys/kern/uipc_socket.c:1.263 --- src/sys/kern/uipc_socket.c:1.262 Thu Apr 26 19:22:17 2018 +++ src/sys/kern/uipc_socket.c Thu Apr 26 19:50:09 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: uipc_socket.c,v 1.262 2018/04/26 19:22:17 maxv Exp $ */ +/* $NetBSD: uipc_socket.c,v 1.263 2018/04/26 19:50:09 maxv Exp $ */ /*- * Copyright (c) 2002, 2007, 2008, 2009 The NetBSD Foundation, Inc. @@ -71,7 +71,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: uipc_socket.c,v 1.262 2018/04/26 19:22:17 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: uipc_socket.c,v 1.263 2018/04/26 19:50:09 maxv Exp $"); #ifdef _KERNEL_OPT #include "opt_compat_netbsd.h" @@ -1316,7 +1316,7 @@ soreceive(struct socket *so, struct mbuf orig_resid = 0; if (flags & MSG_PEEK) { if (paddr) - *paddr = m_copy(m, 0, m->m_len); + *paddr = m_copym(m, 0, m->m_len, M_DONTWAIT); m = m->m_next; } else { sbfree(&so->so_rcv, m); @@ -1341,7 +1341,7 @@ soreceive(struct socket *so, struct mbuf orig_resid = 0; if (flags & MSG_PEEK) { if (paddr) - *paddr = m_copy(m, 0, m->m_len); + *paddr = m_copym(m, 0, m->m_len, M_DONTWAIT); m = m->m_next; } else { sbfree(&so->so_rcv, m); @@ -1370,7 +1370,7 @@ soreceive(struct socket *so, struct mbuf do { if (flags & MSG_PEEK) { if (controlp != NULL) { - *controlp = m_copy(m, 0, m->m_len); + *controlp = m_copym(m, 0, m->m_len, M_DONTWAIT); controlp = &(*controlp)->m_next; } m = m->m_next; Index: src/sys/netinet6/icmp6.c diff -u src/sys/netinet6/icmp6.c:1.231 src/sys/netinet6/icmp6.c:1.232 --- src/sys/netinet6/icmp6.c:1.231 Thu Apr 26 07:28:21 2018 +++ src/sys/netinet6/icmp6.c Thu Apr 26 19:50:09 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: icmp6.c,v 1.231 2018/04/26 07:28:21 maxv Exp $ */ +/* $NetBSD: icmp6.c,v 1.232 2018/04/26 19:50:09 maxv Exp $ */ /* $KAME: icmp6.c,v 1.217 2001/06/20 15:03:29 jinmei Exp $ */ /* @@ -62,7 +62,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: icmp6.c,v 1.231 2018/04/26 07:28:21 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: icmp6.c,v 1.232 2018/04/26 19:50:09 maxv Exp $"); #ifdef _KERNEL_OPT #include "opt_inet.h" @@ -1967,7 +1967,7 @@ icmp6_rip6_input(struct mbuf **mp, int o /* do not inject data into pcb */ } #endif - else if ((n = m_copy(m, 0, (int)M_COPYALL)) != NULL) { + else if ((n = m_copym(m, 0, (int)M_COPYALL, M_DONTWAIT)) != NULL) { if (last->in6p_flags & IN6P_CONTROLOPTS) ip6_savecontrol(last, &opts, ip6, n); /* strip intermediate headers */ Index: src/sys/netinet6/ip6_forward.c diff -u src/sys/netinet6/ip6_forward.c:1.93 src/sys/netinet6/ip6_forward.c:1.94 --- src/sys/netinet6/ip6_forward.c:1.93 Wed Apr 18 07:17:49 2018 +++ src/sys/netinet6/ip6_forward.c Thu Apr 26 19:50:09 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: ip6_forward.c,v 1.93 2018/04/18 07:17:49 maxv Exp $ */ +/* $NetBSD: ip6_forward.c,v 1.94 2018/04/26 19:50:09 maxv Exp $ */ /* $KAME: ip6_forward.c,v 1.109 2002/09/11 08:10:17 sakane Exp $ */ /* @@ -31,7 +31,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ip6_forward.c,v 1.93 2018/04/18 07:17:49 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ip6_forward.c,v 1.94 2018/04/26 19:50:09 maxv Exp $"); #ifdef _KERNEL_OPT #include "opt_gateway.h" @@ -177,7 +177,8 @@ ip6_forward(struct mbuf *m, int srcrt) * It is important to save it before IPsec processing as IPsec * processing may modify the mbuf. */ - mcopy = m_copy(m, 0, imin(m->m_pkthdr.len, ICMPV6_PLD_MAXLEN)); + mcopy = m_copym(m, 0, imin(m->m_pkthdr.len, ICMPV6_PLD_MAXLEN), + M_DONTWAIT); #ifdef IPSEC if (ipsec_used) { Index: src/sys/netinet6/ip6_mroute.c diff -u src/sys/netinet6/ip6_mroute.c:1.124 src/sys/netinet6/ip6_mroute.c:1.125 --- src/sys/netinet6/ip6_mroute.c:1.124 Thu Apr 26 07:28:21 2018 +++ src/sys/netinet6/ip6_mroute.c Thu Apr 26 19:50:09 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: ip6_mroute.c,v 1.124 2018/04/26 07:28:21 maxv Exp $ */ +/* $NetBSD: ip6_mroute.c,v 1.125 2018/04/26 19:50:09 maxv Exp $ */ /* $KAME: ip6_mroute.c,v 1.49 2001/07/25 09:21:18 jinmei Exp $ */ /* @@ -117,7 +117,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ip6_mroute.c,v 1.124 2018/04/26 07:28:21 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ip6_mroute.c,v 1.125 2018/04/26 19:50:09 maxv Exp $"); #ifdef _KERNEL_OPT #include "opt_inet.h" @@ -1125,7 +1125,7 @@ ip6_mforward(struct ip6_hdr *ip6, struct splx(s); return ENOBUFS; } - mb0 = m_copy(m, 0, M_COPYALL); + mb0 = m_copym(m, 0, M_COPYALL, M_DONTWAIT); /* * Pullup packet header if needed before storing it, @@ -1167,7 +1167,7 @@ ip6_mforward(struct ip6_hdr *ip6, struct * Make a copy of the header to send to the user * level process */ - mm = m_copy(mb0, 0, sizeof(struct ip6_hdr)); + mm = m_copym(mb0, 0, sizeof(struct ip6_hdr), M_DONTWAIT); if (mm == NULL) { free(rte, M_MRTABLE); @@ -1414,7 +1414,7 @@ ip6_mdq(struct mbuf *m, struct ifnet *if struct mrt6msg *im; struct omrt6msg *oim; - mm = m_copy(m, 0, sizeof(struct ip6_hdr)); + mm = m_copym(m, 0, sizeof(struct ip6_hdr), M_DONTWAIT); if (mm && M_UNWRITABLE(mm, sizeof(struct ip6_hdr))) mm = m_pullup(mm, sizeof(struct ip6_hdr)); if (mm == NULL) @@ -1548,7 +1548,7 @@ phyint_send(struct ip6_hdr *ip6, struct * the IPv6 header is actually copied, not just referenced, * so that ip6_output() only scribbles on the copy. */ - mb_copy = m_copy(m, 0, M_COPYALL); + mb_copy = m_copym(m, 0, M_COPYALL, M_DONTWAIT); if (mb_copy && M_UNWRITABLE(mb_copy, sizeof(struct ip6_hdr))) mb_copy = m_pullup(mb_copy, sizeof(struct ip6_hdr)); if (mb_copy == NULL) { @@ -1668,7 +1668,7 @@ register_send(struct ip6_hdr *ip6, struc mm->m_data += max_linkhdr; mm->m_len = sizeof(struct ip6_hdr); - if ((mm->m_next = m_copy(m, 0, M_COPYALL)) == NULL) { + if ((mm->m_next = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { m_freem(mm); return ENOBUFS; } @@ -1895,7 +1895,7 @@ pim6_input(struct mbuf **mp, int *offp, /* * make a copy of the whole header to pass to the daemon later. */ - mcp = m_copy(m, 0, off + PIM6_REG_MINLEN); + mcp = m_copym(m, 0, off + PIM6_REG_MINLEN, M_DONTWAIT); if (mcp == NULL) { #ifdef MRT6DEBUG log(LOG_ERR, Index: src/sys/netinet6/ip6_output.c diff -u src/sys/netinet6/ip6_output.c:1.205 src/sys/netinet6/ip6_output.c:1.206 --- src/sys/netinet6/ip6_output.c:1.205 Mon Apr 23 07:22:54 2018 +++ src/sys/netinet6/ip6_output.c Thu Apr 26 19:50:09 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: ip6_output.c,v 1.205 2018/04/23 07:22:54 maxv Exp $ */ +/* $NetBSD: ip6_output.c,v 1.206 2018/04/26 19:50:09 maxv Exp $ */ /* $KAME: ip6_output.c,v 1.172 2001/03/25 09:55:56 itojun Exp $ */ /* @@ -62,7 +62,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ip6_output.c,v 1.205 2018/04/23 07:22:54 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ip6_output.c,v 1.206 2018/04/26 19:50:09 maxv Exp $"); #ifdef _KERNEL_OPT #include "opt_inet.h" @@ -988,7 +988,7 @@ ip6_output( mhip6->ip6_plen = htons((u_int16_t)(len + hlen + sizeof(*ip6f) - sizeof(struct ip6_hdr))); - if ((m_frgpart = m_copy(m0, off, len)) == NULL) { + if ((m_frgpart = m_copym(m0, off, len, M_DONTWAIT)) == NULL) { error = ENOBUFS; IP6_STATINC(IP6_STAT_ODROPPED); goto sendorfree; @@ -3260,7 +3260,7 @@ ip6_mloopback(struct ifnet *ifp, struct struct mbuf *copym; struct ip6_hdr *ip6; - copym = m_copy(m, 0, M_COPYALL); + copym = m_copym(m, 0, M_COPYALL, M_DONTWAIT); if (copym == NULL) return; Index: src/sys/netinet6/raw_ip6.c diff -u src/sys/netinet6/raw_ip6.c:1.168 src/sys/netinet6/raw_ip6.c:1.169 --- src/sys/netinet6/raw_ip6.c:1.168 Thu Apr 12 07:28:10 2018 +++ src/sys/netinet6/raw_ip6.c Thu Apr 26 19:50:09 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: raw_ip6.c,v 1.168 2018/04/12 07:28:10 maxv Exp $ */ +/* $NetBSD: raw_ip6.c,v 1.169 2018/04/26 19:50:09 maxv Exp $ */ /* $KAME: raw_ip6.c,v 1.82 2001/07/23 18:57:56 jinmei Exp $ */ /* @@ -62,7 +62,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: raw_ip6.c,v 1.168 2018/04/12 07:28:10 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: raw_ip6.c,v 1.169 2018/04/26 19:50:09 maxv Exp $"); #ifdef _KERNEL_OPT #include "opt_ipsec.h" @@ -198,7 +198,7 @@ rip6_input(struct mbuf **mp, int *offp, /* do not inject data into pcb */ } #endif - else if ((n = m_copy(m, 0, (int)M_COPYALL)) != NULL) { + else if ((n = m_copym(m, 0, (int)M_COPYALL, M_DONTWAIT)) != NULL) { if (last->in6p_flags & IN6P_CONTROLOPTS) ip6_savecontrol(last, &opts, ip6, n); /* strip intermediate headers */ Index: src/sys/netipsec/keysock.c diff -u src/sys/netipsec/keysock.c:1.64 src/sys/netipsec/keysock.c:1.65 --- src/sys/netipsec/keysock.c:1.64 Thu Apr 19 08:27:38 2018 +++ src/sys/netipsec/keysock.c Thu Apr 26 19:50:09 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: keysock.c,v 1.64 2018/04/19 08:27:38 maxv Exp $ */ +/* $NetBSD: keysock.c,v 1.65 2018/04/26 19:50:09 maxv Exp $ */ /* $FreeBSD: keysock.c,v 1.3.2.1 2003/01/24 05:11:36 sam Exp $ */ /* $KAME: keysock.c,v 1.25 2001/08/13 20:07:41 itojun Exp $ */ @@ -32,7 +32,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: keysock.c,v 1.64 2018/04/19 08:27:38 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: keysock.c,v 1.65 2018/04/26 19:50:09 maxv Exp $"); /* This code has derived from sys/net/rtsock.c on FreeBSD2.2.5 */ @@ -379,7 +379,7 @@ _key_sendup_mbuf(struct socket *so, stru * (based on pf_...@inner.net message on 14 Oct 1998) */ if (((struct keycb *)rp)->kp_promisc) { - if ((n = m_copy(m, 0, (int)M_COPYALL)) != NULL) { + if ((n = m_copym(m, 0, (int)M_COPYALL, M_DONTWAIT)) != NULL) { (void)key_sendup0(rp, n, 1, 0); n = NULL; } @@ -417,7 +417,7 @@ _key_sendup_mbuf(struct socket *so, stru if (!sendup) continue; - if ((n = m_copy(m, 0, (int)M_COPYALL)) == NULL) { + if ((n = m_copym(m, 0, (int)M_COPYALL, M_DONTWAIT)) == NULL) { m_freem(m); PFKEY_STATINC(PFKEY_STAT_IN_NOMEM); return ENOBUFS;