Module Name:    src
Committed By:   maxv
Date:           Thu Apr 26 07:28:21 UTC 2018

Modified Files:
        src/sys/netinet: ip_icmp.c
        src/sys/netinet6: icmp6.c ip6_mroute.c

Log Message:
Use M_UNWRITABLE, no functional change.


To generate a diff of this commit:
cvs rdiff -u -r1.168 -r1.169 src/sys/netinet/ip_icmp.c
cvs rdiff -u -r1.230 -r1.231 src/sys/netinet6/icmp6.c
cvs rdiff -u -r1.123 -r1.124 src/sys/netinet6/ip6_mroute.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/netinet/ip_icmp.c
diff -u src/sys/netinet/ip_icmp.c:1.168 src/sys/netinet/ip_icmp.c:1.169
--- src/sys/netinet/ip_icmp.c:1.168	Thu Feb  8 09:32:02 2018
+++ src/sys/netinet/ip_icmp.c	Thu Apr 26 07:28:21 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: ip_icmp.c,v 1.168 2018/02/08 09:32:02 maxv Exp $	*/
+/*	$NetBSD: ip_icmp.c,v 1.169 2018/04/26 07:28:21 maxv Exp $	*/
 
 /*
  * Copyright (c) 1998, 2000 The NetBSD Foundation, Inc.
@@ -94,7 +94,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ip_icmp.c,v 1.168 2018/02/08 09:32:02 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ip_icmp.c,v 1.169 2018/04/26 07:28:21 maxv Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_ipsec.h"
@@ -448,7 +448,7 @@ _icmp_input(struct mbuf *m, int hlen, in
 		goto freeit;
 	}
 	i = hlen + min(icmplen, ICMP_ADVLENMIN);
-	if ((m->m_len < i || M_READONLY(m)) && (m = m_pullup(m, i)) == NULL) {
+	if (M_UNWRITABLE(m, i) && (m = m_pullup(m, i)) == NULL) {
 		ICMP_STATINC(ICMP_STAT_TOOSHORT);
 		return;
 	}

Index: src/sys/netinet6/icmp6.c
diff -u src/sys/netinet6/icmp6.c:1.230 src/sys/netinet6/icmp6.c:1.231
--- src/sys/netinet6/icmp6.c:1.230	Sat Apr 14 17:55:47 2018
+++ src/sys/netinet6/icmp6.c	Thu Apr 26 07:28:21 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: icmp6.c,v 1.230 2018/04/14 17:55:47 maxv Exp $	*/
+/*	$NetBSD: icmp6.c,v 1.231 2018/04/26 07:28:21 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.230 2018/04/14 17:55:47 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: icmp6.c,v 1.231 2018/04/26 07:28:21 maxv Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -642,8 +642,7 @@ _icmp6_input(struct mbuf *m, int off, in
 			/* Give up local */
 			n = m;
 			m = NULL;
-		} else if (M_READONLY(n) ||
-		    n->m_len < off + sizeof(struct icmp6_hdr)) {
+		} else if (M_UNWRITABLE(n, off + sizeof(struct icmp6_hdr))) {
 			struct mbuf *n0 = n;
 
 			/*

Index: src/sys/netinet6/ip6_mroute.c
diff -u src/sys/netinet6/ip6_mroute.c:1.123 src/sys/netinet6/ip6_mroute.c:1.124
--- src/sys/netinet6/ip6_mroute.c:1.123	Wed Mar 21 14:23:54 2018
+++ src/sys/netinet6/ip6_mroute.c	Thu Apr 26 07:28:21 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: ip6_mroute.c,v 1.123 2018/03/21 14:23:54 roy Exp $	*/
+/*	$NetBSD: ip6_mroute.c,v 1.124 2018/04/26 07:28:21 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.123 2018/03/21 14:23:54 roy Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ip6_mroute.c,v 1.124 2018/04/26 07:28:21 maxv Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -1131,8 +1131,7 @@ ip6_mforward(struct ip6_hdr *ip6, struct
 		 * Pullup packet header if needed before storing it,
 		 * as other references may modify it in the meantime.
 		 */
-		if (mb0 &&
-		    (M_READONLY(mb0) || mb0->m_len < sizeof(struct ip6_hdr)))
+		if (mb0 && M_UNWRITABLE(mb0, sizeof(struct ip6_hdr)))
 			mb0 = m_pullup(mb0, sizeof(struct ip6_hdr));
 		if (mb0 == NULL) {
 			free(rte, M_MRTABLE);
@@ -1416,9 +1415,7 @@ ip6_mdq(struct mbuf *m, struct ifnet *if
 				struct omrt6msg *oim;
 
 				mm = m_copy(m, 0, sizeof(struct ip6_hdr));
-				if (mm &&
-				    (M_READONLY(mm) ||
-				     mm->m_len < sizeof(struct ip6_hdr)))
+				if (mm && M_UNWRITABLE(mm, sizeof(struct ip6_hdr)))
 					mm = m_pullup(mm, sizeof(struct ip6_hdr));
 				if (mm == NULL)
 					return ENOBUFS;
@@ -1552,8 +1549,7 @@ phyint_send(struct ip6_hdr *ip6, struct 
 	 * so that ip6_output() only scribbles on the copy.
 	 */
 	mb_copy = m_copy(m, 0, M_COPYALL);
-	if (mb_copy &&
-	    (M_READONLY(mb_copy) || mb_copy->m_len < sizeof(struct ip6_hdr)))
+	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) {
 		splx(s);

Reply via email to