Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 Nov 2011 14:22:18 +0000 (UTC)
From:      Gleb Smirnoff <glebius@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r227308 - head/sys/netinet6
Message-ID:  <201111071422.pA7EMIJR082992@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: glebius
Date: Mon Nov  7 14:22:18 2011
New Revision: 227308
URL: http://svn.freebsd.org/changeset/base/227308

Log:
  In icmp6_redirect_input:
  
  - Assert that we got a valid mbuf with rcvif pointer. [1]
  - Use __func__ in logging.
  
  Submitted by:	prabhakar lakhera <prabhakar.lakhera gmail.com> [1]
  Submitted by:	Kristof Provost <kristof sigsegv.be> [1]

Modified:
  head/sys/netinet6/icmp6.c

Modified: head/sys/netinet6/icmp6.c
==============================================================================
--- head/sys/netinet6/icmp6.c	Mon Nov  7 13:46:16 2011	(r227307)
+++ head/sys/netinet6/icmp6.c	Mon Nov  7 14:22:18 2011	(r227308)
@@ -2360,14 +2360,11 @@ icmp6_redirect_input(struct mbuf *m, int
 	union nd_opts ndopts;
 	char ip6buf[INET6_ADDRSTRLEN];
 
-	if (!m)
-		return;
+	M_ASSERTPKTHDR(m);
+	KASSERT(m->m_pkthdr.rcvif != NULL, ("%s: no rcvif", __func__));
 
 	ifp = m->m_pkthdr.rcvif;
 
-	if (!ifp)
-		return;
-
 	/* XXX if we are router, we don't update route by icmp6 redirect */
 	if (V_ip6_forwarding)
 		goto freeit;
@@ -2474,9 +2471,8 @@ icmp6_redirect_input(struct mbuf *m, int
 	icmp6len -= sizeof(*nd_rd);
 	nd6_option_init(nd_rd + 1, icmp6len, &ndopts);
 	if (nd6_options(&ndopts) < 0) {
-		nd6log((LOG_INFO, "icmp6_redirect_input: "
-		    "invalid ND option, rejected: %s\n",
-		    icmp6_redirect_diag(&src6, &reddst6, &redtgt6)));
+		nd6log((LOG_INFO, "%s: invalid ND option, rejected: %s\n",
+		    __func__, icmp6_redirect_diag(&src6, &reddst6, &redtgt6)));
 		/* nd6_options have incremented stats */
 		goto freeit;
 	}
@@ -2487,10 +2483,9 @@ icmp6_redirect_input(struct mbuf *m, int
 	}
 
 	if (lladdr && ((ifp->if_addrlen + 2 + 7) & ~7) != lladdrlen) {
-		nd6log((LOG_INFO,
-		    "icmp6_redirect_input: lladdrlen mismatch for %s "
+		nd6log((LOG_INFO, "%s: lladdrlen mismatch for %s "
 		    "(if %d, icmp6 packet %d): %s\n",
-		    ip6_sprintf(ip6buf, &redtgt6),
+		    __func__, ip6_sprintf(ip6buf, &redtgt6),
 		    ifp->if_addrlen, lladdrlen - 2,
 		    icmp6_redirect_diag(&src6, &reddst6, &redtgt6)));
 		goto bad;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201111071422.pA7EMIJR082992>