cvs commit: src/sys/net if.c

Maxim Konovalov maxim at macomnet.ru
Wed Jun 21 11:35:41 UTC 2006


On Wed, 21 Jun 2006, 10:16-0000, Bjoern A. Zeeb wrote:

> On Wed, 21 Jun 2006, Max Laier wrote:
>
> > On Wednesday 21 June 2006 10:06, Maxim Konovalov wrote:
> > > On Wed, 21 Jun 2006, 06:02-0000, Gleb Smirnoff wrote:
> > > > glebius     2006-06-21 06:02:35 UTC
> > > >
> > > >   FreeBSD src repository
> > > >
> > > >   Modified files:
> > > >     sys/net              if.c
> > > >   Log:
> > > >   - First initialize ifnet, and then insert it into global
> > > >     list.
> > > >   - First remove from global list, then start destroying.
> > > >
> > > >   PR:             kern/97679
> > > >   Submitted by:   Alex Lyashkov <shadow itt.net.ru>
> > > >   Reviewed by:    rwatson, brooks
> > >
> > > FWIW, even with Yar's recent commit to if_vlan.c it still panics.  I
> > > told Alex about that.  A testcase below.  Run it for several minutes.
> >
> > Yes, we simply keep too many implicit references to ifnets.  The real
> > sequence
> > for interface destruction should be:
>
> I had been looking at that code somewhen last year I think
> trying to clean up some ordering along the af/domain logic and
> my conclusion was that in netinet6/* some bad things are done
> that by that time prevented me from further working on this
> to get it anywhere w/o a panic. Welcome to the club ;)

Actually, it panics without INET6 in kernel too:

db> bt
Tracing pid 71448 tid 100106 td 0xc3a19960
vlan_ioctl(c2de1c00,c0286938,c3d9f900) at vlan_ioctl+0x112
ifhwioctl(c0286938,c2de1c00,c3d9f900,c3a19960) at ifhwioctl+0xa30
ifioctl(c281b14c,c0286938,c3d9f900,c3a19960,0,...) at ifioctl+0xab
soo_ioctl(c2784510,c0286938,c3d9f900,c28b0200,c3a19960) at soo_ioctl+0x2db
ioctl(c3a19960,d57b0d04) at ioctl+0x370
syscall(3b,3b,3b,bfbfe2d8,3,...) at syscall+0x27e
Xint0x80_syscall() at Xint0x80_syscall+0x1f

-- 
Maxim Konovalov


More information about the cvs-src mailing list