Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 Dec 2015 19:44:49 +0000 (UTC)
From:      Kristof Provost <kp@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r292219 - head/sys/netinet6
Message-ID:  <201512141944.tBEJinv9008065@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kp
Date: Mon Dec 14 19:44:49 2015
New Revision: 292219
URL: https://svnweb.freebsd.org/changeset/base/292219

Log:
  inet6: Do not assume every interface has ip6 enabled.
  
  Certain interfaces (e.g. pfsync0) do not have ip6 addresses (in other words,
  ifp->if_afdata[AF_INET6] is NULL). Ensure we don't panic when the MTU is
  updated.
  
  pfsync interfaces will never have ip6 support, because it's explicitly disabled
  in in6_domifattach().
  
  PR:		205194
  Reviewed by:	melifaro, hrs
  Differential Revision:	https://reviews.freebsd.org/D4522

Modified:
  head/sys/netinet6/in6.c
  head/sys/netinet6/nd6.c

Modified: head/sys/netinet6/in6.c
==============================================================================
--- head/sys/netinet6/in6.c	Mon Dec 14 19:40:47 2015	(r292218)
+++ head/sys/netinet6/in6.c	Mon Dec 14 19:44:49 2015	(r292219)
@@ -2432,6 +2432,8 @@ in6_domifattach(struct ifnet *ifp)
 int
 in6_domifmtu(struct ifnet *ifp)
 {
+	if (ifp->if_afdata[AF_INET6] == NULL)
+		return ifp->if_mtu;
 
 	return (IN6_LINKMTU(ifp));
 }

Modified: head/sys/netinet6/nd6.c
==============================================================================
--- head/sys/netinet6/nd6.c	Mon Dec 14 19:40:47 2015	(r292218)
+++ head/sys/netinet6/nd6.c	Mon Dec 14 19:44:49 2015	(r292219)
@@ -285,6 +285,8 @@ nd6_ifdetach(struct nd_ifinfo *nd)
 void
 nd6_setmtu(struct ifnet *ifp)
 {
+	if (ifp->if_afdata[AF_INET6] == NULL)
+		return;
 
 	nd6_setmtu0(ifp, ND_IFINFO(ifp));
 }



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