From: "Aneesh Kumar K.V" Subject: possible circular locking dependency detected (mmap_sem and i_alloc_sem_key) Date: Tue, 12 May 2009 20:17:35 +0530 Message-ID: <20090512144735.GA23862@skywalker> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii To: ext4 development , Theodore Tso Return-path: Received: from e23smtp01.au.ibm.com ([202.81.31.143]:38757 "EHLO e23smtp01.au.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752495AbZELOry (ORCPT ); Tue, 12 May 2009 10:47:54 -0400 Received: from d23relay02.au.ibm.com (d23relay02.au.ibm.com [202.81.31.244]) by e23smtp01.au.ibm.com (8.13.1/8.13.1) with ESMTP id n4CElECt021268 for ; Wed, 13 May 2009 00:47:14 +1000 Received: from d23av03.au.ibm.com (d23av03.au.ibm.com [9.190.234.97]) by d23relay02.au.ibm.com (8.13.8/8.13.8/NCO v9.2) with ESMTP id n4CEls301511444 for ; Wed, 13 May 2009 00:47:54 +1000 Received: from d23av03.au.ibm.com (loopback [127.0.0.1]) by d23av03.au.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id n4CElsCM030323 for ; Wed, 13 May 2009 00:47:54 +1000 Content-Disposition: inline Sender: linux-ext4-owner@vger.kernel.org List-ID: ======================================================= [ INFO: possible circular locking dependency detected ] 2.6.30-rc5-autokern1 #1 ------------------------------------------------------- fsx-linux/11055 is trying to acquire lock: (&sb->s_type->i_alloc_sem_key#6){+++++.}, at: [] ext4_page_mkwrite+0x34/0x174 but task is already holding lock: (&mm->mmap_sem){++++++}, at: [] do_page_fault+0x1cc/0x2f1 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #4 (&mm->mmap_sem){++++++}: [] validate_chain+0x849/0xb1e [] __lock_acquire+0x678/0x710 [] lock_acquire+0xa8/0xc5 [] might_fault+0x52/0x72 [] copy_to_user+0x28/0x3f [] filldir+0x88/0xc8 [] sysfs_readdir+0x11d/0x156 [] vfs_readdir+0x68/0x94 [] sys_getdents+0x5f/0xa0 [] syscall_call+0x7/0xb [] 0xffffffff -> #3 (sysfs_mutex){+.+.+.}: [] validate_chain+0x849/0xb1e [] __lock_acquire+0x678/0x710 [] lock_acquire+0xa8/0xc5 [] mutex_lock_nested+0x3f/0x292 [] sysfs_addrm_start+0x23/0x90 [] sysfs_remove_dir+0x36/0x6a [] kobject_del+0xf/0x2c [] ext4_put_super+0xb4/0x22d [] generic_shutdown_super+0x5d/0xc4 [] kill_block_super+0x1d/0x31 [] deactivate_super+0x57/0x6a [] mntput_no_expire+0xbd/0xee [] sys_umount+0x284/0x2cf [] sysenter_do_call+0x12/0x32 [] 0xffffffff -> #2 (&type->s_lock_key#9){+.+...}: [] validate_chain+0x849/0xb1e [] __lock_acquire+0x678/0x710 [] lock_acquire+0xa8/0xc5 [] mutex_lock_nested+0x3f/0x292 [] lock_super+0x1b/0x1d [] ext4_orphan_add+0x110/0x13b [] ext4_unlink+0x177/0x20b [] vfs_unlink+0xa0/0x105 [] do_unlinkat+0x8d/0x126 [] sys_unlink+0x10/0x12 [] sysenter_do_call+0x12/0x32 [] 0xffffffff -> #1 (jbd2_handle){+.+.+.}: [] validate_chain+0x849/0xb1e [] __lock_acquire+0x678/0x710 [] lock_acquire+0xa8/0xc5 [] jbd2_journal_start+0xe5/0xf2 [] ext4_journal_start_sb+0x44/0x64 [] ext4_ext_truncate+0x38/0x7d1 [] ext4_truncate+0x73/0x431 [] vmtruncate+0x101/0x125 [] inode_setattr+0x71/0x143 [] ext4_setattr+0x23f/0x2c2 [] notify_change+0x15e/0x29c [] do_truncate+0x62/0x7b [] do_sys_truncate+0x19a/0x1d6 [] sys_truncate64+0x11/0x13 [] sysenter_do_call+0x12/0x32 [] 0xffffffff -> #0 (&sb->s_type->i_alloc_sem_key#6){+++++.}: [] validate_chain+0x5a7/0xb1e [] __lock_acquire+0x678/0x710 [] lock_acquire+0xa8/0xc5 [] down_read+0x1e/0x5b [] ext4_page_mkwrite+0x34/0x174 [] __do_fault+0x14c/0x393 [] handle_mm_fault+0x36d/0x7a9 [] do_page_fault+0x28d/0x2f1 [] error_code+0x72/0x78 [] 0xffffffff other info that might help us debug this: 1 lock held by fsx-linux/11055: #0: (&mm->mmap_sem){++++++}, at: [] do_page_fault+0x1cc/0x2f1 stack backtrace: Pid: 11055, comm: fsx-linux Not tainted 2.6.30-rc5-autokern1 #1 Call Trace: [] print_circular_bug_tail+0xa4/0xaf [] validate_chain+0x5a7/0xb1e [] ? check_usage_backwards+0x5d/0x7f [] __lock_acquire+0x678/0x710 [] ? find_get_page+0x94/0xd9 [] lock_acquire+0xa8/0xc5 [] ? ext4_page_mkwrite+0x34/0x174 [] down_read+0x1e/0x5b [] ? ext4_page_mkwrite+0x34/0x174 [] ext4_page_mkwrite+0x34/0x174 [] __do_fault+0x14c/0x393 [] handle_mm_fault+0x36d/0x7a9 [] ? do_page_fault+0x1cc/0x2f1 [] ? down_read_trylock+0x39/0x43 [] do_page_fault+0x28d/0x2f1 [] ? do_page_fault+0x0/0x2f1 [] error_code+0x72/0x78 [] ? do_page_fault+0x0/0x2f1 fsx-linux used greatest stack depth: 1448 bytes left