Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757763AbXFMJpg (ORCPT ); Wed, 13 Jun 2007 05:45:36 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754140AbXFMJp3 (ORCPT ); Wed, 13 Jun 2007 05:45:29 -0400 Received: from noname.neutralserver.com ([70.84.186.210]:41426 "EHLO noname.neutralserver.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753167AbXFMJp2 (ORCPT ); Wed, 13 Jun 2007 05:45:28 -0400 Date: Wed, 13 Jun 2007 12:45:21 +0300 From: Dan Aloni To: Stephen Hemminger Cc: Kenji Kaneshige , "David S. Miller" , netdev@vger.kernel.org, linux-kernel , Andrew Morton Subject: Re: [PATCH] Fix race condition about network device name allocation Message-ID: <20070613094521.GA8860@localdomain> References: <1178862045.3979.33.camel@kane-linux> <20070511092519.1f34ab34@freepuppy> <1179130660.3881.23.camel@kane-linux> <20070514085840.17a343f7@freepuppy> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20070514085840.17a343f7@freepuppy> User-Agent: Mutt/1.5.13 (2006-08-11) X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - noname.neutralserver.com X-AntiAbuse: Original Domain - vger.kernel.org X-AntiAbuse: Originator/Caller UID/GID - [0 0] / [47 12] X-AntiAbuse: Sender Address Domain - monatomic.org X-Source: X-Source-Args: X-Source-Dir: Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2954 Lines: 60 On Mon, May 14, 2007 at 08:58:40AM -0700, Stephen Hemminger wrote: > Kenji Kaneshige found this race between device removal and > registration. On unregister it is possible for the old device to > exist, because sysfs file is still open. A new device with 'eth%d' > will select the same name, but sysfs kobject register will fial. > > The following changes the shutdown order slightly. It hold a removes the sysfs > entries earlier (on unregister_netdevice), but holds a kobject reference. > Then when todo runs the actual last put free happens. > > Signed-off-by: Stephen Hemminger That patch breaks the bonding driver. After reverting it I avoid this crash: <6>[1115260.637351] Ethernet Channel Bonding Driver: v3.1.2 (January 20, 2007) <6>[1115260.637358] bonding: MII link monitoring set to 100 ms <6>[1115260.637767] bonding: bond0 is being deleted... <1>[1115260.695812] Unable to handle kernel NULL pointer dereference at 0000000000000020 RIP: <1>[1115260.701504] [] __lookup_hash+0x22/0x150 <6>[1115260.709754] PGD 798bf067 PUD 798c4067 PMD 0 <0>[1115260.714394] Oops: 0000 [1] SMP [1]kdb> [1]kdb> btc btc: cpu status: Currently on cpu 1 Available cpus: 0(I), 1 Stack traceback for pid 0 0xffffffff80585420 0 0 1 0 I 0xffffffff80585710 swapper rsp rip Function (args) 0xffffffff8066feb0 0xffffffff8046783f thread_return+0x5e 0xffffffff8066fec0 0xffffffff80469df9 _spin_unlock_irq+0x9 0xffffffff8066ff28 0xffffffff80209176 mwait_idle+0x46 0xffffffff8066ff50 0xffffffff802088e2 enter_idle+0x22 0xffffffff8066ff60 0xffffffff802090bc cpu_idle+0x5c 0xffffffff8066ff80 0xffffffff80207146 rest_init+0x26 0xffffffff8066ff90 0xffffffff80678c1a start_kernel+0x2ea 0xffffffff8066ffc0 0xffffffff8067815f _sinittext+0x15f Stack traceback for pid 66 0xffff81006a411850 66 1 1 1 R 0xffff81006a411b40 *platform_node rsp rip Function (args) 0xffff81006a46dd98 0xffffffff802805e2 __lookup_hash+0x22 0xffff81006a46de00 0xffffffff80280cba lookup_one_len+0x9a 0xffff81006a46de20 0xffffffff802be671 sysfs_remove_group+0x31 0xffff81006a46de50 0xffffffff8800fe4a [bonding]bond_destroy_sysfs_entry+0x1a 0xffff81006a46de60 0xffffffff88011974 [bonding]bonding_store_bonds+0x214 0xffff81006a46deb0 0xffffffff8037c9d4 class_attr_store+0x24 [1]more> 0xffff81006a46dec0 0xffffffff802bbe30 sysfs_write_file+0x100 0xffff81006a46df10 0xffffffff80277d7e vfs_write+0xbe 0xffff81006a46df40 0xffffffff80278400 sys_write+0x50 0xffff81006a46df80 0xffffffff80209e6e system_call+0x7e -- Dan Aloni XIV LTD, http://www.xivstorage.com da-x (at) monatomic.org, dan (at) xiv.co.il - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/