From owner-cvs-all@FreeBSD.ORG Thu Jun 29 09:24:59 2006 Return-Path: X-Original-To: cvs-all@FreeBSD.org Delivered-To: cvs-all@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0B77216A416; Thu, 29 Jun 2006 09:24:59 +0000 (UTC) (envelope-from maxim@macomnet.ru) Received: from mp2.macomnet.net (mp2.macomnet.net [195.128.64.6]) by mx1.FreeBSD.org (Postfix) with ESMTP id EA44F43D55; Thu, 29 Jun 2006 09:24:57 +0000 (GMT) (envelope-from maxim@macomnet.ru) Received: from localhost (localhost.int.ru [127.0.0.1] (may be forged)) by mp2.macomnet.net (8.13.7/8.13.3) with ESMTP id k5T9OuX3045456; Thu, 29 Jun 2006 13:24:56 +0400 (MSD) (envelope-from maxim@macomnet.ru) Date: Thu, 29 Jun 2006 13:24:56 +0400 (MSD) From: Maxim Konovalov To: Yar Tikhiy In-Reply-To: <200606290752.k5T7qU06021639@repoman.freebsd.org> Message-ID: <20060629132354.D73145@mp2.macomnet.net> References: <200606290752.k5T7qU06021639@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/net if_vlan.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Jun 2006 09:24:59 -0000 On Thu, 29 Jun 2006, 07:52-0000, Yar Tikhiy wrote: > yar 2006-06-29 07:52:30 UTC > > FreeBSD src repository > > Modified files: > sys/net if_vlan.c > Log: > Detach the interface first, do vlan_unconfig() then. > Previously, another thread could get a pointer to the > interface by scanning the system-wide list and sleep > on the global vlan mutex held by vlan_unconfig(). > The interface was gone by the time the other thread > woke up. > > In order to be able to call vlan_unconfig() on a detached > interface, remove the purely cosmetic bzero'ing of IF_LLADDR > from the function because a detached interface has no addresses. > > Noticed by: a stress-testing script by maxim > Reviewed by: glebius Still no cookie :-) db> bt Tracing pid 75800 tid 100098 td 0xc2b0e960 in_control(c2a1c67c,c02069f6,c40eece0,c2e66000,c2b0e960) at in_control+0x114 ifioctl(c2a1c67c,c02069f6,c40eece0,c2b0e960,0,...) at ifioctl+0xee soo_ioctl(c27cb4c8,c02069f6,c40eece0,c2c04980,c2b0e960) at soo_ioctl+0x2db ioctl(c2b0e960,d56a4d04) at ioctl+0x370 syscall(3b,3b,3b,bfbfe2c4,0,...) at syscall+0x27e Xint0x80_syscall() at Xint0x80_syscall+0x1f --- syscall (54, FreeBSD ELF32, ioctl), eip = 0x2817cb43, esp = 0xbfbfe28c, ebp = 0xbfbfe2d8 --- Let me know if you need more info. -- Maxim Konovalov