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;
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to