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