From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752194AbXE3Mk0 (ORCPT ); Wed, 30 May 2007 08:40:26 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751917AbXE3MkS (ORCPT ); Wed, 30 May 2007 08:40:18 -0400 Received: from 184-35.202-62.fix.bluewin.ch ([62.202.35.184]:49805 "EHLO steudten.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751513AbXE3MkQ (ORCPT ); Wed, 30 May 2007 08:40:16 -0400 X-Greylist: delayed 331 seconds by postgrey-1.27 at vger.kernel.org; Wed, 30 May 2007 08:40:15 EDT Message-ID: <465D6F57.5040709@steudten.com> Date: Wed, 30 May 2007 14:34:31 +0200 From: "alpha @ steudten Engineering" Organization: Steudten Engineering MIME-Version: 1.0 To: LKML Subject: Kernel 2.6.20: possible circular locking dependency detected Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-2.1.12 (steudten.com [62.202.35.184]); Wed, 30 May 2007 14:34:39 +0200 (CEST) X-Mailer: Mailer X-Check: ecf221b2255bbca2b47da32cc654429f on steudten.com Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Linux version 2.6.20-1.2948.self (rpmbuild@merlin.linux.alpha) (gcc version 4.1.1 20070105 (Red Hat 4.1.1-51)) #1 SMP Mon May 7 11:07:53 CEST 2007 ======================================================= [ INFO: possible circular locking dependency detected ] 2.6.20-1.2948.self #1 ------------------------------------------------------- squid/4111 is trying to acquire lock: (tty_mutex){--..}, at: [] print_warning+0x8b/0x12e but task is already holding lock: (&s->s_dquot.dqptr_sem){----}, at: [] dquot_alloc_inode+0x34/0x10a which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #4 (&s->s_dquot.dqptr_sem){----}: [] __lock_acquire+0x950/0xa70 [] dquot_alloc_space+0x42/0x155 [] lock_acquire+0x67/0x89 [] dquot_alloc_space+0x42/0x155 [] down_read+0x38/0x49 [] dquot_alloc_space+0x42/0x155 [] dquot_alloc_space+0x42/0x155 [] ext3_new_blocks+0x83/0x5c4 [] mb_cache_entry_find_first+0x29/0x5b [] ext3_new_block+0x20/0x25 [] ext3_xattr_block_set+0x57b/0x7ce [] __ext3_get_inode_loc+0x10f/0x2fb [] journal_get_write_access+0x21/0x26 [] ext3_xattr_set_handle+0x37f/0x47f [] ext3_init_security+0x70/0x91 [] ext3_new_inode+0x877/0x98b [] start_this_handle+0x256/0x341 [] _spin_unlock+0x14/0x1c [] start_this_handle+0x325/0x341 [] cache_alloc_debugcheck_after+0xc4/0x136 [] trace_hardirqs_on+0x141/0x164 [] journal_stop+0x1ce/0x1da [] journal_start+0xaf/0xdd [] dquot_initialize+0x21/0x87 [] ext3_create+0x7b/0xe2 [] vfs_create+0xca/0x134 [] open_namei+0x177/0x5a2 [] get_unused_fd+0x22/0xbd [] __handle_mm_fault+0x8c0/0x8e2 [] do_filp_open+0x25/0x39 [] _spin_unlock+0x14/0x1c [] get_unused_fd+0xb3/0xbd [] do_sys_open+0x42/0xbe [] sys_open+0x1c/0x1e [] syscall_call+0x7/0xb [] 0xffffffff -> #3 (&ei->xattr_sem){----}: [] __lock_acquire+0x950/0xa70 [] ext3_xattr_get+0x2e/0x239 [] lock_acquire+0x67/0x89 [] ext3_xattr_get+0x2e/0x239 [] down_read+0x38/0x49 [] ext3_xattr_get+0x2e/0x239 [] ext3_xattr_get+0x2e/0x239 [] mark_held_locks+0x46/0x62 [] __mutex_lock_slowpath+0x292/0x2af [] cache_alloc_debugcheck_after+0xc4/0x136 [] ext3_xattr_security_get+0x41/0x4b [] generic_getxattr+0x41/0x47 [] inode_doinit_with_dentry+0x16e/0x4ba [] ext3_xattr_security_get+0x41/0x4b [] generic_getxattr+0x0/0x47 [] superblock_doinit+0x6c3/0x751 [] selinux_complete_init+0x64/0xb6 [] down_read+0x38/0x49 [] selinux_complete_init+0x73/0xb6 [] security_load_policy+0xed/0x275 [] _spin_unlock_irqrestore+0x3e/0x4d [] mark_held_locks+0x46/0x62 [] _spin_unlock_irqrestore+0x3e/0x4d [] _spin_unlock_irqrestore+0x3e/0x4d [] trace_hardirqs_on+0x141/0x164 [] delayacct_end+0x55/0x77 [] delayacct_end+0x70/0x77 [] sync_page+0x0/0x3b [] __delayacct_blkio_end+0x5b/0x5e [] __handle_mm_fault+0x263/0x8e2 [] __lock_page+0x58/0x5e [] __handle_mm_fault+0x263/0x8e2 [] kunmap_atomic+0x54/0x61 [] __handle_mm_fault+0x8c0/0x8e2 [] do_page_fault+0x16b/0x4f2 [] up_read+0x14/0x28 [] do_page_fault+0x291/0x4f2 [] restore_nocheck+0x12/0x15 [] restore_nocheck+0x12/0x15 [] __copy_from_user_ll+0xcb/0xd6 [] sel_write_load+0xa6/0x2dd [] sel_write_load+0x0/0x2dd [] vfs_write+0xa8/0x154 [] sys_write+0x41/0x67 [] syscall_call+0x7/0xb [] 0xffffffff -> #2 (&isec->lock){--..}: [] __lock_acquire+0x950/0xa70 [] inode_doinit_with_dentry+0x35/0x4ba [] check_usage+0x24/0x245 [] lock_acquire+0x67/0x89 [] inode_doinit_with_dentry+0x35/0x4ba [] __mutex_lock_slowpath+0x106/0x2af [] inode_doinit_with_dentry+0x35/0x4ba [] __might_sleep+0x21/0xf0 [] inode_doinit_with_dentry+0x35/0x4ba [] lock_release+0x16b/0x175 [] d_instantiate+0x7e/0x82 [] sysfs_create+0x85/0xb6 [] init_dir+0x0/0x1a [] create_dir+0x9e/0x19a [] sysfs_create_dir+0x45/0x5f [] kobject_add+0xdd/0x194 [] subsystem_register+0xf/0x1c [] mnt_init+0xe8/0x1c6 [] vfs_caches_init+0x135/0x144 [] security_init+0x2d/0x3d [] start_kernel+0x2cb/0x427 [] unknown_bootoption+0x0/0x202 [] 0xffffffff -> #1 (&sysfs_inode_imutex_key){--..}: [] __lock_acquire+0x950/0xa70 [] sysfs_hash_and_remove+0x34/0x116 [] __link_path_walk+0xad6/0xc13 [] trace_hardirqs_on+0x141/0x164 [] lock_acquire+0x67/0x89 [] sysfs_hash_and_remove+0x34/0x116 [] __mutex_lock_slowpath+0x106/0x2af [] sysfs_hash_and_remove+0x34/0x116 [] sysfs_hash_and_remove+0x34/0x116 [] device_remove_file+0x1c/0x28 [] device_del+0x29/0x1b8 [] device_unregister+0x8/0x10 [] vcs_remove_sysfs+0x17/0x31 [] con_close+0x49/0x5b [] release_dev+0x210/0x61e [] tty_open+0x233/0x2ba [] chrdev_open+0x10b/0x138 [] chrdev_open+0x0/0x138 [] fd_install+0x21/0x49 [] nameidata_to_filp+0x24/0x33 [] sys_close+0x21/0xa7 [] tty_release+0xf/0x18 [] __fput+0xb5/0x16b [] filp_close+0x51/0x58 [] sys_close+0x70/0xa7 [] syscall_call+0x7/0xb [] 0xffffffff -> #0 (tty_mutex){--..}: [] __lock_acquire+0x85a/0xa70 [] print_warning+0x8b/0x12e [] __mutex_unlock_slowpath+0x13c/0x150 [] mark_held_locks+0x46/0x62 [] __mutex_unlock_slowpath+0x13c/0x150 [] lock_acquire+0x67/0x89 [] print_warning+0x8b/0x12e [] __mutex_lock_slowpath+0x106/0x2af [] print_warning+0x8b/0x12e [] print_warning+0x8b/0x12e [] dquot_alloc_inode+0xec/0x10a [] ext3_new_inode+0x857/0x98b [] start_this_handle+0x256/0x341 [] _spin_unlock+0x14/0x1c [] start_this_handle+0x325/0x341 [] cache_alloc_debugcheck_after+0xc4/0x136 [] trace_hardirqs_on+0x141/0x164 [] journal_stop+0x1ce/0x1da [] journal_start+0xaf/0xdd [] ext3_create+0x7b/0xe2 [] vfs_create+0xca/0x134 [] open_namei+0x177/0x5a2 [] get_unused_fd+0x22/0xbd [] __audit_getname+0x84/0xdd [] do_filp_open+0x25/0x39 [] _spin_unlock+0x14/0x1c [] get_unused_fd+0xb3/0xbd [] _read_unlock+0x14/0x1c [] do_sys_open+0x42/0xbe [] sys_open+0x1c/0x1e [] syscall_call+0x7/0xb [] 0xffffffff other info that might help us debug this: 2 locks held by squid/4111: #0: (&inode->i_mutex){--..}, at: [] open_namei+0xe2/0x5a2 #1: (&s->s_dquot.dqptr_sem){----}, at: [] dquot_alloc_inode+0x34/0x10a stack backtrace: [] print_circular_bug_tail+0x5f/0x67 [] __lock_acquire+0x85a/0xa70 [] print_warning+0x8b/0x12e [] __mutex_unlock_slowpath+0x13c/0x150 [] mark_held_locks+0x46/0x62 [] __mutex_unlock_slowpath+0x13c/0x150 [] lock_acquire+0x67/0x89 [] print_warning+0x8b/0x12e [] __mutex_lock_slowpath+0x106/0x2af [] print_warning+0x8b/0x12e [] print_warning+0x8b/0x12e [] dquot_alloc_inode+0xec/0x10a [] ext3_new_inode+0x857/0x98b [] start_this_handle+0x256/0x341 [] _spin_unlock+0x14/0x1c [] start_this_handle+0x325/0x341 [] cache_alloc_debugcheck_after+0xc4/0x136 [] trace_hardirqs_on+0x141/0x164 [] journal_stop+0x1ce/0x1da [] journal_start+0xaf/0xdd [] ext3_create+0x7b/0xe2 [] vfs_create+0xca/0x134 [] open_namei+0x177/0x5a2 [] get_unused_fd+0x22/0xbd [] __audit_getname+0x84/0xdd [] do_filp_open+0x25/0x39 [] _spin_unlock+0x14/0x1c [] get_unused_fd+0xb3/0xbd [] _read_unlock+0x14/0x1c [] do_sys_open+0x42/0xbe [] sys_open+0x1c/0x1e [] syscall_call+0x7/0xb =======================