[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4E5CAD18.1020907@tao.ma>
Date: Tue, 30 Aug 2011 17:27:52 +0800
From: Tao Ma <tm@....ma>
To: Dave Young <hidave.darkstar@...il.com>
CC: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
linux-fsdevel@...r.kernel.org, linux-ext4@...r.kernel.org
Subject: Re: lockdep warnings - possible circular locking
Hi Dave,
On 08/30/2011 05:09 PM, Dave Young wrote:
> Hi,
>
> I got following lockdep warnings, ext4 related?
This is already reported by many guys. Ted has a fix for it.
Please search the mail with subject
[URGENT PATCH] ext4: fix potential deadlock in ext4_evict_inode()
Thanks
Tao
>
> =======================================================
> [11038.258992] [ INFO: possible circular locking dependency detected ]
> [11038.258996] 3.1.0-rc3-00283-gc11a7e2 #264
> [11038.258998] -------------------------------------------------------
> [11038.259002] soffice.bin/3022 is trying to acquire lock:
> [11038.259005] (&sb->s_type->i_mutex_key#4){+.+.+.}, at:
> [<ffffffff811836d3>] ext4_evict_inode+0x4a/0x2ff
> [11038.259019]
> [11038.259020] but task is already holding lock:
> [11038.259024] (&group->notification_mutex){+.+...}, at:
> [<ffffffff8112f838>] fsnotify_flush_notify+0x22/0x115
> [11038.259034]
> [11038.259034] which lock already depends on the new lock.
> [11038.259036]
> [11038.259039]
> [11038.259039] the existing dependency chain (in reverse order) is:
> [11038.259043]
> [11038.259044] -> #1 (&group->notification_mutex){+.+...}:
> [11038.259051] [<ffffffff8106c21d>] lock_acquire+0xd9/0x105
> [11038.259057] [<ffffffff81532ac2>] _raw_spin_lock+0x2c/0x38
> [11038.259064] [<ffffffff810f72fa>] __slab_alloc+0x105/0x374
> [11038.259070] [<ffffffff810f7fd6>] kmem_cache_alloc+0x82/0xf1
> [11038.259075] [<ffffffff81112c34>] __d_alloc+0x24/0x16e
> [11038.259081] [<ffffffff81112de9>] d_alloc+0x1c/0x7e
> [11038.259086] [<ffffffff81112ead>] d_alloc_name+0x62/0x64
> [11038.259092] [<ffffffff8115fb06>] devpts_pty_new+0x16a/0x207
> [11038.259098] [<ffffffff813015b6>] ptmx_open+0xac/0x106
> [11038.259104] [<ffffffff81103983>] chrdev_open+0x138/0x157
> [11038.259110] [<ffffffff810fee11>] __dentry_open+0x1af/0x2bd
> [11038.259116] [<ffffffff810fefd5>] nameidata_to_filp+0x53/0x62
> [11038.259122] [<ffffffff8110c449>] do_last+0x491/0x590
> [11038.259128] [<ffffffff8110c615>] path_openat+0xcd/0x345
> [11038.259134] [<ffffffff8110c982>] do_filp_open+0x38/0x86
> [11038.259139] [<ffffffff810feb1d>] do_sys_open+0x6c/0xf6
> [11038.259145] [<ffffffff810febd0>] sys_open+0x1b/0x1d
> [11038.259150] [<ffffffff81539b52>] system_call_fastpath+0x16/0x1b
> [11038.259157]
> [11038.259158] -> #0 (&sb->s_type->i_mutex_key#4){+.+.+.}:
> [11038.259165] [<ffffffff8106ba31>] __lock_acquire+0xb78/0xe95
> [11038.259172] [<ffffffff8106c21d>] lock_acquire+0xd9/0x105
> [11038.259177] [<ffffffff81531c7a>] __mutex_lock_common+0x48/0x355
> [11038.259183] [<ffffffff81532030>] mutex_lock_nested+0x26/0x2b
> [11038.259188] [<ffffffff811836d3>] ext4_evict_inode+0x4a/0x2ff
> [11038.259194] [<ffffffff81115133>] evict+0xa7/0x163
> [11038.259199] [<ffffffff811153be>] iput+0x1cf/0x1d7
> [11038.259204] [<ffffffff811130d5>] dentry_kill+0x174/0x192
> [11038.259209] [<ffffffff81113a73>] dput+0x103/0x113
> [11038.259214] [<ffffffff8110937c>] path_put+0x15/0x21
> [11038.259220] [<ffffffff8112f6fe>] fsnotify_put_event+0x53/0x90
> [11038.259230] [<ffffffff8112f8f7>] fsnotify_flush_notify+0xe1/0x115
> [11038.259233] [<ffffffff8112fc27>]
> fsnotify_final_destroy_group+0x11/0x2f
> [11038.259236] [<ffffffff8112fc82>] fsnotify_put_group+0x3d/0x43
> [11038.259239] [<ffffffff8113157b>] inotify_release+0x48/0x4e
> [11038.259242] [<ffffffff81101721>] fput+0x10b/0x1a8
> [11038.259245] [<ffffffff810fe98b>] filp_close+0x6d/0x78
> [11038.259248] [<ffffffff8103cd4c>] put_files_struct+0xa9/0x141
> [11038.259252] [<ffffffff8103ce2b>] exit_files+0x47/0x50
> [11038.259254] [<ffffffff8103e7f7>] do_exit+0x281/0x7b1
> [11038.259257] [<ffffffff8103eda6>] do_group_exit+0x7f/0xab
> [11038.259260] [<ffffffff8103ede4>] sys_exit_group+0x12/0x16
> [11038.259263] [<ffffffff81539b52>] system_call_fastpath+0x16/0x1b
> [11038.259266]
> [11038.259266] other info that might help us debug this:
> [11038.259267]
> [11038.259269] Possible unsafe locking scenario:
> [11038.259269]
> [11038.259271] CPU0 CPU1
> [11038.259272] ---- ----
> [11038.259273] lock(&group->notification_mutex);
> [11038.259276] lock(&sb->s_type->i_mutex_key);
> [11038.259279] lock(&group->notification_mutex);
> [11038.259282] lock(&sb->s_type->i_mutex_key);
> [11038.259284]
> [11038.259284] *** DEADLOCK ***
> [11038.259285]
> [11038.259287] 1 lock held by soffice.bin/3022:
> [11038.259288] #0: (&group->notification_mutex){+.+...}, at:
> [<ffffffff8112f838>] fsnotify_flush_notify+0x22/0x115
> [11038.259294]
> [11038.259294] stack backtrace:
> [11038.259297] Pid: 3022, comm: soffice.bin Not tainted
> 3.1.0-rc3-00283-gc11a7e2 #264
> [11038.259299] Call Trace:
> [11038.259302] [<ffffffff8106aea8>] print_circular_bug+0x20e/0x21f
> [11038.259305] [<ffffffff8106ba31>] __lock_acquire+0xb78/0xe95
> [11038.259309] [<ffffffff8106c21d>] lock_acquire+0xd9/0x105
> [11038.259312] [<ffffffff811836d3>] ? ext4_evict_inode+0x4a/0x2ff
> [11038.259315] [<ffffffff81531c7a>] __mutex_lock_common+0x48/0x355
> [11038.259318] [<ffffffff811836d3>] ? ext4_evict_inode+0x4a/0x2ff
> [11038.259321] [<ffffffff811836d3>] ? ext4_evict_inode+0x4a/0x2ff
> [11038.259324] [<ffffffff81532030>] mutex_lock_nested+0x26/0x2b
> [11038.259326] [<ffffffff811836d3>] ext4_evict_inode+0x4a/0x2ff
> [11038.259329] [<ffffffff81115133>] evict+0xa7/0x163
> [11038.259332] [<ffffffff811153be>] iput+0x1cf/0x1d7
> [11038.259335] [<ffffffff811130d5>] dentry_kill+0x174/0x192
> [11038.259338] [<ffffffff81113a73>] dput+0x103/0x113
> [11038.259340] [<ffffffff8110937c>] path_put+0x15/0x21
> [11038.259343] [<ffffffff8112f6fe>] fsnotify_put_event+0x53/0x90
> [11038.259346] [<ffffffff8112f8f7>] fsnotify_flush_notify+0xe1/0x115
> [11038.259349] [<ffffffff81531ade>] ? mutex_unlock+0x9/0xb
> [11038.259352] [<ffffffff8112fc27>] fsnotify_final_destroy_group+0x11/0x2f
> [11038.259355] [<ffffffff8112fc82>] fsnotify_put_group+0x3d/0x43
> [11038.259357] [<ffffffff8113157b>] inotify_release+0x48/0x4e
> [11038.259360] [<ffffffff81101721>] fput+0x10b/0x1a8
> [11038.259363] [<ffffffff810fe98b>] filp_close+0x6d/0x78
> [11038.259366] [<ffffffff8103cd4c>] put_files_struct+0xa9/0x141
> [11038.259368] [<ffffffff8103ccc5>] ? put_files_struct+0x22/0x141
> [11038.259372] [<ffffffff81291a55>] ? do_raw_spin_unlock+0x8f/0x96
> [11038.259375] [<ffffffff8103ce2b>] exit_files+0x47/0x50
> [11038.259378] [<ffffffff8103e7f7>] do_exit+0x281/0x7b1
> [11038.259380] [<ffffffff8103eda6>] do_group_exit+0x7f/0xab
> [11038.259383] [<ffffffff8103ede4>] sys_exit_group+0x12/0x16
> [11038.259386] [<ffffffff81539b52>] system_call_fastpath+0x16/0x1b
>
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists