Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759290AbXEFVN1 (ORCPT ); Sun, 6 May 2007 17:13:27 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1759295AbXEFVN0 (ORCPT ); Sun, 6 May 2007 17:13:26 -0400 Received: from ik-out-1112.google.com ([66.249.90.183]:2050 "EHLO ik-out-1112.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756411AbXEFVNZ (ORCPT ); Sun, 6 May 2007 17:13:25 -0400 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=ShzgHqGnTVq9UGS5zFV7HPUB9KqJdP4AUfFEwGC90RyPtDHB56zJf647pzcOy9MUZER5X1uNvfV7RgHSsY7mjq/3MkLFiPsTdEQfx8IM29Edp986A1YfY1huOu+7MiWA/1XRd2ZIWTjkgqG0i2VsevfCa/Q4WHntNmtzpC4y8ZY= Message-ID: Date: Mon, 7 May 2007 02:43:23 +0530 From: "Satyam Sharma" To: "Andrew Morton" Subject: Re: 2.6.21-mm1 Cc: "Simon Arlott" , linux-kernel@vger.kernel.org, linux-dvb@linuxtv.org In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <20070505014955.8f3990b5.akpm@linux-foundation.org> <463DED69.4020507@simon.arlott.org.uk> <20070506130821.b6bed03b.akpm@linux-foundation.org> Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3089 Lines: 57 Hi Simon, On 5/7/07, Satyam Sharma wrote: > On 5/7/07, Andrew Morton wrote: > > On Sun, 06 May 2007 15:59:53 +0100 Simon Arlott wrote: > > > > > On 05/05/07 09:49, Andrew Morton wrote: > > > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.21/2.6.21-mm1/ > > > > > > I'm currently in the middle of a bisect over the last week of commits to linus' > > > tree, but I got the following with -mm1 that isn't showing up in the latest > > > 2.6.21-git: > > > > > > [ 15.644778] BUG: sleeping function called from invalid context at kernel/mutex.c:86 > > > [ 15.644873] in_atomic():1, irqs_disabled():1 > > > [ 15.644882] 2 locks held by modprobe/2765: > > > [ 15.644889] #0: (devlist_lock){--..}, at: [] mutex_lock+0x1f/0x30 > > > [ 15.645058] #1: (modlist_lock){....}, at: [] __symbol_get+0x1d/0x90 > > > [ 15.645207] irq event stamp: 11772 > > > [ 15.645271] hardirqs last enabled at (11771): [] slab_free+0xc3/0x200 > > > [ 15.645289] hardirqs last disabled at (11772): [] _spin_lock_irqsave+0x16/0x60 > > > [ 15.645364] softirqs last enabled at (11216): [] __do_softirq+0x96/0xb0 > > > [ 15.645439] softirqs last disabled at (11211): [] do_softirq+0x82/0x100 > > > [ 15.645517] [] show_trace_log_lvl+0x1a/0x30 > > > [ 15.645586] [] show_trace+0x12/0x20 > > > [ 15.645654] [] dump_stack+0x15/0x20 > > > [ 15.645665] [] __might_sleep+0xcd/0xf0 > > > [ 15.645737] [] mutex_lock+0x18/0x30 > > > [ 15.645806] [] sysfs_create_link+0x6c/0x130 > > > [ 15.645823] [] use_module+0x11a/0x170 > > > [ 15.645892] [] __symbol_get+0x6c/0x90 > > > [ 15.645904] [] dvb_init+0x98c/0xd70 [saa7134_dvb] > > > [ 15.645984] [] mpeg_ops_attach+0x3d/0x50 > > > [ 15.646058] [] saa7134_ts_register+0x29/0x70 > > > [ 15.646070] [] dvb_register+0x10/0x12 [saa7134_dvb] > > > [ 15.646141] [] sys_init_module+0xf7/0x150 > > > [ 15.646153] [] sysenter_past_esp+0x5f/0x99 > > > [ 15.646221] ======================= > > > > Looks like a locking error in the DVB code. > > Actually, kernel/module.c:__symbol_get() does > spinlock_irq_save(&modlist_lock) and then calls use_module(). > > But when CONFIG_MODULE_UNLOAD=y, use_module() wants to > sysfs_create_link() (I wonder why) which will clearly blow up. Ah, at first I thought you had CONFIG_MODULE_UNLOAD=y for 21-mm and =n for 21-git which is why you weren't able to reproduce this on 21-git. But on checking I found 21-git has a different __symbol_get which calls strong_try_module_get(owner) directly and not use_module(). Perhaps Andrew missed this patch? - 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/