From mboxrd@z Thu Jan 1 00:00:00 1970 From: Li Zefan Subject: (cred_guard_mutex vs seq->lock) INFO: possible circular locking dependency detected Date: Fri, 17 May 2013 17:03:33 +0800 Message-ID: <5195F265.4000603@huawei.com> Mime-Version: 1.0 Content-Type: text/plain; charset="GB2312" Content-Transfer-Encoding: 7bit Cc: , Dave Jones To: LKML Return-path: Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org [ 130.287724] ====================================================== [ 130.287732] [ INFO: possible circular locking dependency detected ] [ 130.287742] 3.10.0-rc1-0.7-default+ #9 Not tainted [ 130.287749] ------------------------------------------------------- [ 130.287758] trinity-child3/11061 is trying to acquire lock: [ 130.287766] (&p->lock){+.+.+.}, at: [] seq_read+0x40/0x410 [ 130.287784] [ 130.287784] but task is already holding lock: [ 130.287794] (&sig->cred_guard_mutex){+.+.+.}, at: [] prepare_bprm_creds+0x37/0x80 [ 130.287812] [ 130.287812] which lock already depends on the new lock. [ 130.287812] [ 130.287826] [ 130.287826] the existing dependency chain (in reverse order) is: [ 130.287837] [ 130.287837] -> #1 (&sig->cred_guard_mutex){+.+.+.}: [ 130.287851] [] lock_acquire+0xdc/0x110 [ 130.287862] [] mutex_lock_killable_nested+0x4c/0x420 [ 130.287876] [] mm_access+0x34/0xc0 [ 130.287886] [] m_start+0x71/0x180 [ 130.287897] [] seq_read+0x9b/0x410 [ 130.287907] [] vfs_read+0xc8/0x130 [ 130.287919] [] SyS_read+0x64/0xa0 [ 130.287929] [] system_call_fastpath+0x16/0x1b [ 130.287941] [ 130.287941] -> #0 (&p->lock){+.+.+.}: [ 130.287953] [] __lock_acquire+0x14dd/0x18a0 [ 130.287963] [] lock_acquire+0xdc/0x110 [ 130.287973] [] mutex_lock_nested+0x40/0x390 [ 130.287984] [] seq_read+0x40/0x410 [ 130.287993] [] proc_reg_read+0x4f/0x80 [ 130.288004] [] vfs_read+0xc8/0x130 [ 130.288013] [] kernel_read+0x49/0x60 [ 130.288023] [] prepare_binprm+0xea/0x180 [ 130.288033] [] do_execve_common+0x48b/0x6e0 [ 130.288044] [] do_execve+0x39/0x40 [ 130.288054] [] SyS_execve+0x47/0x70 [ 130.288063] [] stub_execve+0x69/0xa0 [ 130.288074] [ 130.288074] other info that might help us debug this: [ 130.288074] [ 130.288088] Possible unsafe locking scenario: [ 130.288088] [ 130.288098] CPU0 CPU1 [ 130.288105] ---- ---- [ 130.288111] lock(&sig->cred_guard_mutex); [ 130.288120] lock(&p->lock); [ 130.288130] lock(&sig->cred_guard_mutex); [ 130.288140] lock(&p->lock); [ 130.288147] [ 130.288147] *** DEADLOCK *** [ 130.288147] [ 130.288160] 1 lock held by trinity-child3/11061: [ 130.288167] #0: (&sig->cred_guard_mutex){+.+.+.}, at: [] prepare_bprm_creds+0x37/0x80 [ 130.288184] [ 130.288184] stack backtrace: [ 130.288195] CPU: 3 PID: 11061 Comm: trinity-child3 Not tainted 3.10.0-rc1-0.7-default+ #9 [ 130.288205] Hardware name: Huawei Technologies Co., Ltd. Tecal RH2285 /BC11BTSA , BIOS CTSAV036 04/27/2011 [ 130.288217] ffffffff81e51fa0 ffff880bf6cb5b18 ffffffff8149845c ffff880bf6cb5b58 [ 130.288231] ffffffff810a7183 0000000000000001 0000000000000000 0000000000000001 [ 130.288244] 0000000000000000 ffff880bf8be2680 00000000002e2188 ffff880bf6cb5c38 [ 130.288257] Call Trace: [ 130.288266] [] dump_stack+0x19/0x1d [ 130.288276] [] print_circular_bug+0x223/0x330 [ 130.288286] [] __lock_acquire+0x14dd/0x18a0 [ 130.288296] [] lock_acquire+0xdc/0x110 [ 130.288306] [] ? seq_read+0x40/0x410 [ 130.288317] [] mutex_lock_nested+0x40/0x390 [ 130.288327] [] ? seq_read+0x40/0x410 [ 130.288337] [] seq_read+0x40/0x410 [ 130.288347] [] ? _raw_spin_unlock+0x2b/0x40 [ 130.288360] [] ? dput+0x9f/0x230 [ 130.288369] [] proc_reg_read+0x4f/0x80 [ 130.288380] [] vfs_read+0xc8/0x130 [ 130.288389] [] kernel_read+0x49/0x60 [ 130.288399] [] prepare_binprm+0xea/0x180 [ 130.288409] [] do_execve_common+0x48b/0x6e0 [ 130.288419] [] ? do_execve_common+0x11f/0x6e0 [ 130.288430] [] do_execve+0x39/0x40 [ 130.288440] [] SyS_execve+0x47/0x70 [ 130.288450] [] stub_execve+0x69/0xa0