From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx203.postini.com [74.125.245.203]) by kanga.kvack.org (Postfix) with SMTP id 111586B0062 for ; Sun, 1 Jul 2012 23:42:46 -0400 (EDT) Date: Mon, 2 Jul 2012 11:42:41 +0800 From: Fengguang Wu Subject: Re: linux-next BUG: held lock freed! Message-ID: <20120702034241.GA7511@localhost> References: <20120626145432.GA15289@localhost> <20120626172918.GA16446@localhost> <20120627122306.GA19252@localhost> <20120702025625.GA6531@localhost> <20120702033914.GA7433@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20120702033914.GA7433@localhost> Sender: owner-linux-mm@kvack.org List-ID: To: Christoph Lameter Cc: Trond Myklebust , "J. Bruce Fields" , linux-nfs@vger.kernel.org, LKML , netdev , Pekka Enberg , Linux Memory Management List , Stephen Rothwell On Mon, Jul 02, 2012 at 11:39:14AM +0800, Fengguang Wu wrote: > On Mon, Jul 02, 2012 at 10:56:25AM +0800, Fengguang Wu wrote: > > Hi all, > > > > More observations on this bug: > > > > The slab tree itself actually boots fine. So Christoph's commit may be > > merely disclosing some bug hidden in another for-next tree which > > happens to be merged before the slab tree.. > > Sorry: the bug does appear in the standalone slab tree, where the > dmesg is > > [ 307.648802] blkid (2963) used greatest stack depth: 2832 bytes left > [ 307.892070] vhci_hcd: changed 0 > [ 308.766647] > [ 308.766648] ========================= > [ 308.766649] [ BUG: held lock freed! ] > [ 308.766651] 3.5.0-rc1+ #44 Not tainted > [ 308.766651] ------------------------- > [ 308.766653] mtd_probe/3040 is freeing memory ffff880006defdd0-ffff880006df0dcf, with a lock still held there! > [ 308.766662] (&type->s_umount_key#31/1){+.+.+.}, at: [] sget+0x299/0x463 > [ 308.766663] 3 locks held by mtd_probe/3040: > [ 308.766667] #0: (&type->s_umount_key#31/1){+.+.+.}, at: [] sget+0x299/0x463 > [ 308.766671] #1: (sb_lock){+.+.-.}, at: [] sget+0x33/0x463 > [ 308.766675] #2: (unnamed_dev_lock){+.+...}, at: [] get_anon_bdev+0x38/0xe8 > [ 308.766675] > [ 308.766675] stack backtrace: > [ 308.766677] Pid: 3040, comm: mtd_probe Not tainted 3.5.0-rc1+ #44 > [ 308.766678] Call Trace: > [ 308.766683] [] debug_check_no_locks_freed+0x109/0x14b > [ 308.766703] [] kmem_cache_free+0x2e/0xa7 > [ 308.766708] [] ida_get_new_above+0x173/0x184 > [ 308.766711] [] ? lock_acquired+0x1e4/0x219 > [ 308.766713] [] get_anon_bdev+0x4e/0xe8 > [ 308.766715] [] set_anon_super+0x17/0x2a > [ 308.766717] [] sget+0x3a3/0x463 > [ 308.766719] [] ? get_anon_bdev+0xe8/0xe8 > [ 308.766722] [] mount_pseudo+0x31/0x152 > [ 308.766727] [] mtd_inodefs_mount+0x24/0x26 > [ 308.766729] [] mount_fs+0x69/0x155 > [ 308.766733] [] ? __alloc_percpu+0x10/0x12 > [ 308.766736] [] vfs_kern_mount+0x62/0xd9 > [ 308.766739] [] simple_pin_fs+0x4c/0x9b > [ 308.766741] [] mtdchar_open+0x42/0x188 > [ 308.766744] [] chrdev_open+0x11f/0x14a > [ 308.766747] [] ? local_clock+0x19/0x52 > [ 308.766750] [] ? cdev_put+0x26/0x26 > [ 308.766752] [] do_dentry_open+0x1e4/0x2b2 > [ 308.766754] [] nameidata_to_filp+0x5e/0xa3 > [ 308.766756] [] do_last+0x68f/0x6d3 > [ 308.766759] [] path_openat+0xd2/0x32a > [ 308.766762] [] ? time_hardirqs_off+0x26/0x2a > [ 308.766765] [] ? trace_hardirqs_off+0xd/0xf > [ 308.766767] [] do_filp_open+0x38/0x86 > [ 308.766771] [] ? _raw_spin_unlock+0x28/0x3b > [ 308.766773] [] ? alloc_fd+0xe5/0xf7 > [ 308.766776] [] do_sys_open+0x6e/0xfb > [ 308.766777] [] sys_open+0x21/0x23 > [ 308.766780] [] system_call_fastpath+0x16/0x1b Another dmesg on the slab tree: [ 54.522438] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled [ 54.567847] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A [ 54.591289] [ 54.591290] ========================= [ 54.591291] [ BUG: held lock freed! ] [ 54.591293] 3.5.0-rc1+ #45 Not tainted [ 54.591293] ------------------------- [ 54.591295] swapper/0/1 is freeing memory ffff88000f45fdd0-ffff88000f460dcf, with a lock still held there! [ 54.591304] (&port->mutex){+.+.+.}, at: [] uart_add_one_port+0x84/0x356 [ 54.591306] 3 locks held by swapper/0/1: [ 54.591310] #0: (port_mutex){+.+.+.}, at: [] uart_add_one_port+0x72/0x356 [ 54.591314] #1: (&port->mutex){+.+.+.}, at: [] uart_add_one_port+0x84/0x356 [ 54.591319] #2: (sysfs_ino_lock){+.+...}, at: [] sysfs_new_dirent+0x6b/0x10c [ 54.591320] [ 54.591320] stack backtrace: [ 54.591322] Pid: 1, comm: swapper/0 Not tainted 3.5.0-rc1+ #45 [ 54.591323] Call Trace: [ 54.591338] [] debug_check_no_locks_freed+0x109/0x14b [ 54.591342] [] kmem_cache_free+0x2e/0xa7 [ 54.591346] [] ida_get_new_above+0x173/0x184 [ 54.591351] [] ? lock_acquired+0x1e4/0x219 [ 54.591354] [] sysfs_new_dirent+0x80/0x10c [ 54.591357] [] sysfs_add_file_mode+0x4e/0xce [ 54.591366] [] sysfs_add_file+0x12/0x14 [ 54.591368] [] sysfs_merge_group+0x45/0x97 [ 54.591372] [] dpm_sysfs_add+0x54/0xab [ 54.591374] [] device_add+0x3ba/0x5d7 [ 54.591377] [] device_register+0x1b/0x1f [ 54.591379] [] device_create_vargs+0x91/0xc8 [ 54.591381] [] device_create+0x31/0x33 [ 54.591385] [] tty_register_device+0xde/0xfb [ 54.591388] [] uart_add_one_port+0x2c1/0x356 [ 54.591406] [] serial8250_init+0x12b/0x189 [ 54.591409] [] ? r3964_init+0x25/0x41 [ 54.591411] [] ? serial8250_console_init+0x2c/0x2c [ 54.591414] [] do_one_initcall+0x7f/0x13a [ 54.591419] [] kernel_init+0x170/0x1f8 [ 54.591422] [] ? do_early_param+0x8c/0x8c [ 54.591435] [] kernel_thread_helper+0x4/0x10 [ 54.591438] [] ? retint_restore_args+0x13/0x13 [ 54.591441] [] ? start_kernel+0x3e7/0x3e7 [ 54.591443] [] ? gs_change+0x13/0x13 [ 54.625113] 00:06: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A Thanks, Fengguang -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org