Re: [Fwd: assigning an address to ng_fec(4) iface causes panic]

From: Brooks Davis <brooks_at_one-eyed-alien.net>
Date: Tue, 23 Aug 2005 10:36:22 -0700
On Tue, Aug 23, 2005 at 10:09:06AM -0700, Maksim Yevmenkin wrote:
> Hello,
> 
> please try the attached patch.
> 
> > >Description:
> >         assigning an address to ng_fec(4) iface causes panic
> >         during dumping to dumpdev another panic occurs preventing to identify the source of the first panic and having the crash dump
> > 
> >         ng_iface creation sequence:
> >         mkpeer fec dummy fec
> >         msg fec0: add_iface "em0"
> >         msg fec0: add_iface "em1"
> >         msg fec0: set_mode_mac
> >

> --- ng_fec.c.orig	Mon Aug 22 11:42:51 2005
> +++ ng_fec.c	Tue Aug 23 10:05:23 2005
> _at__at_ -544,8 +544,8 _at__at_
>  	struct ifnet		*ifp, *bifp;
>  	struct ng_fec_portlist	*p;
>  
> -	ifp = arg;
> -	priv = ifp->if_softc;
> +	priv = arg;
> +	ifp = priv->ifp;
>  	b = &priv->fec_bundle;
>  
>  	if (b->fec_ifcnt == 1 || b->fec_ifcnt == 3) {

This isn't quite sufficent.  You also should change the ng_fec_init(ifp)
call on line 718 to ng_fec_init(ifp->if_softc).  If that work's I'll
commit it.

I've got to say this calling convention is really stupid.  I'm
really tempted to change ifp->if_init() to take a struct ifnet * even
though it means an API change and a tree sweep.

-- Brooks

-- 
Any statement of the form "X is the one, true Y" is FALSE.
PGP fingerprint 655D 519C 26A7 82E7 2529  9BF0 5D8E 8BE9 F238 1AD4

Received on Tue Aug 23 2005 - 15:36:23 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:42 UTC