From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751166AbWCQLRE (ORCPT ); Fri, 17 Mar 2006 06:17:04 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751272AbWCQLRE (ORCPT ); Fri, 17 Mar 2006 06:17:04 -0500 Received: from smtp.osdl.org ([65.172.181.4]:20386 "EHLO smtp.osdl.org") by vger.kernel.org with ESMTP id S1751166AbWCQLRB (ORCPT ); Fri, 17 Mar 2006 06:17:01 -0500 Date: Fri, 17 Mar 2006 03:14:10 -0800 From: Andrew Morton To: Tilman Schmidt Cc: linux-kernel@vger.kernel.org, "Antonino A. Daplas" Subject: Re: i810 framebuffer - BUG: sleeping function called from invalid context Message-Id: <20060317031410.2479d8e1.akpm@osdl.org> In-Reply-To: <44186D30.4040603@imap.cc> References: <44186D30.4040603@imap.cc> X-Mailer: Sylpheed version 1.0.4 (GTK+ 1.2.10; i386-redhat-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Tilman Schmidt wrote: > > Thought I'd finally report this, seeing it still around with 2.6.16-rc6-mm1. > > With every 2.6.16-rc-mm version I can remember (sorry, no precise records) > my development machine (a Dell OptiPlex GX110, Intel P3/933, Intel chipset) > has been producing the following three BUG messages while booting: > > <6>[ 36.528181] md: Autodetecting RAID arrays. > <3>[ 36.528263] BUG: sleeping function called from invalid context at mm/slab.c:2758 > <4>[ 36.528270] in_atomic():1, irqs_disabled():1 > <4>[ 36.528277] kmem_cache_alloc+0x20/0x77 i810fb_cursor+0x1bd/0x2c9 > <4>[ 36.528317] search_by_key+0x1a5/0xe04 bit_cursor+0x467/0x48a > <4>[ 36.528357] fbcon_cursor+0x226/0x25b bit_cursor+0x0/0x48a > <4>[ 36.528373] hide_cursor+0x1d/0x53 vt_console_print+0x8b/0x21e > <4>[ 36.528399] vt_console_print+0x0/0x21e __call_console_drivers+0x34/0x40 > <4>[ 36.528422] release_console_sem+0xeb/0x185 vprintk+0x298/0x2d9 > <4>[ 36.528439] d_splice_alias+0xa5/0xe5 reiserfs_lookup+0xed/0xf8 > <4>[ 36.528461] printk+0x12/0x16 md_ioctl+0xc3/0x1289 > <4>[ 36.528492] _spin_unlock+0xf/0x23 _spin_unlock+0xf/0x23 > <4>[ 36.528525] inode_init_once+0x1a3/0x1cd blkdev_driver_ioctl+0x49/0x59 > <4>[ 36.528557] blkdev_ioctl+0x6b6/0x6d6 __mutex_lock_slowpath+0x2ca/0x39a > <4>[ 36.528576] debug_mutex_add_waiter+0x14/0x24 do_open+0x5b/0x32a > <4>[ 36.528607] __mutex_lock_slowpath+0x2ca/0x39a do_open+0x5b/0x32a > <4>[ 36.528622] _spin_unlock+0xf/0x23 _read_unlock_irq+0x10/0x24 > <4>[ 36.528638] find_get_page+0x35/0x3a filemap_nopage+0x1a1/0x31f > <4>[ 36.528655] _spin_unlock+0xf/0x23 __handle_mm_fault+0x3e5/0x757 > <4>[ 36.528688] block_ioctl+0x13/0x16 block_ioctl+0x0/0x16 > <4>[ 36.528701] do_ioctl+0x1c/0x5d vfs_ioctl+0x255/0x268 > <4>[ 36.528727] sys_ioctl+0x46/0x5f sysenter_past_esp+0x54/0x75 Yes, thanks - i810fb_cursor is called on the printk() path and it's doing a GFP_KERNEL memory allocation(!). Tony, can you think which patch might have caused this? It's not immediately obvious...