Date: Sun, 3 Feb 2013 19:37:30 -0500 From: Mark Johnston <markj@freebsd.org> To: Andriy Gapon <avg@FreeBSD.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r246245 - head/sys/netgraph Message-ID: <20130204003701.GA1700@oddish> In-Reply-To: <201302021154.r12Bs0tp030831@svn.freebsd.org> References: <201302021154.r12Bs0tp030831@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Feb 02, 2013 at 11:54:00AM +0000, Andriy Gapon wrote: > Author: avg > Date: Sat Feb 2 11:54:00 2013 > New Revision: 246245 > URL: http://svnweb.freebsd.org/changeset/base/246245 > > Log: > ng_ether: track interface renaming > > Also sanitize interface names that can potentially contain characters > that are prohibited in netgraph names. > > PR: kern/154850 (sanitizing of names) > Discussed with: eri, melifaro > Submitted by: Nikolay Denev <ndenev@gmail.com> (sanitizing code) > Reviewed by: eri, glebius > MFC after: 17 days > > Modified: > head/sys/netgraph/ng_ether.c > Hi Andriy, This commit seems to cause a panic during boot when creating the loopback interface. I couldn't get a core dump but the problem seems to happen when dereferencing ifp->if_l2com in the IFP2NG macro in ng_ether_ifnet_arrival_event(). In the case of lo(4) this pointer seems to be NULL (I suppose because lo(4) doesn't register itself in the if_com_alloc/free tables). The patch below fixes the panic for me. Thanks, -Mark diff --git a/sys/netgraph/ng_ether.c b/sys/netgraph/ng_ether.c index 6266f40..f566346 100644 --- a/sys/netgraph/ng_ether.c +++ b/sys/netgraph/ng_ether.c @@ -410,7 +410,12 @@ static void ng_ether_ifnet_arrival_event(void *arg __unused, struct ifnet *ifp) { char name[IFNAMSIZ]; - node_p node = IFP2NG(ifp); + node_p node; + + if (ifp->if_l2com == NULL) + return; + + node = IFP2NG(ifp); /* * Just return if it's a new interface without an ng_ether companion.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130204003701.GA1700>