From mboxrd@z Thu Jan 1 00:00:00 1970 From: akpm@linux-foundation.org Subject: - bfs-lockdep-warning.patch removed from -mm tree Date: Thu, 18 Sep 2008 13:55:46 -0700 Message-ID: <200809182055.m8IKtkv2019130@imap1.linux-foundation.org> Reply-To: linux-kernel@vger.kernel.org Return-path: Received: from smtp1.linux-foundation.org ([140.211.169.13]:54605 "EHLO smtp1.linux-foundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754387AbYIRU4A (ORCPT ); Thu, 18 Sep 2008 16:56:00 -0400 Sender: mm-commits-owner@vger.kernel.org List-Id: mm-commits@vger.kernel.org To: snakebyte@gmx.de, tigran@aivazian.fsnet.co.uk, mm-commits@vger.kernel.org The patch titled bfs: fix Lockdep warning has been removed from the -mm tree. Its filename was bfs-lockdep-warning.patch This patch was dropped because it was merged into mainline or a subsystem tree The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/ ------------------------------------------------------ Subject: bfs: fix Lockdep warning From: Eric Sesterhenn [ 2585.162442] ============================================= [ 2585.162639] [ INFO: possible recursive locking detected ] [ 2585.162736] 2.6.27-rc5-00283-g70bb089 #68 [ 2585.162822] --------------------------------------------- [ 2585.162992] touch/6855 is trying to acquire lock: [ 2585.163014] (&info->bfs_lock){--..}, at: [] bfs_delete_inode+0x9e/0x18c [ 2585.163014] [ 2585.163014] but task is already holding lock: [ 2585.163014] (&info->bfs_lock){--..}, at: [] bfs_create+0x45/0x187 [ 2585.163014] [ 2585.163014] other info that might help us debug this: [ 2585.163014] 2 locks held by touch/6855: [ 2585.163014] #0: (&type->i_mutex_dir_key#5){--..}, at: [] do_filp_open+0x10b/0x62f [ 2585.163014] #1: (&info->bfs_lock){--..}, at: [] bfs_create+0x45/0x187 [ 2585.163014] [ 2585.163014] stack backtrace: [ 2585.163014] Pid: 6855, comm: touch Not tainted 2.6.27-rc5-00283-g70bb089 #68 [ 2585.163014] [] validate_chain+0x458/0x9f4 [ 2585.163014] [] ? trace_hardirqs_off+0xb/0xd [ 2585.163014] [] __lock_acquire+0x666/0x6e0 [ 2585.163014] [] lock_acquire+0x5b/0x77 [ 2585.163014] [] ? bfs_delete_inode+0x9e/0x18c [ 2585.163014] [] mutex_lock_nested+0xbc/0x234 [ 2585.163014] [] ? bfs_delete_inode+0x9e/0x18c [ 2585.163014] [] ? bfs_delete_inode+0x9e/0x18c [ 2585.163014] [] bfs_delete_inode+0x9e/0x18c [ 2585.163014] [] ? bfs_delete_inode+0x0/0x18c [ 2585.163014] [] generic_delete_inode+0x94/0xfe [ 2585.163014] [] generic_drop_inode+0x12/0x12f [ 2585.163014] [] iput+0x4b/0x4e [ 2585.163014] [] bfs_create+0x163/0x187 [ 2585.163014] [] vfs_create+0xa6/0x114 [ 2585.163014] [] do_filp_open+0x1ad/0x62f [ 2585.163014] [] ? native_sched_clock+0x82/0x96 [ 2585.163014] [] ? _spin_unlock+0x27/0x3c [ 2585.163014] [] ? alloc_fd+0xbf/0xc9 [ 2585.163014] [] ? sub_preempt_count+0x9d/0xab [ 2585.163014] [] ? alloc_fd+0xbf/0xc9 [ 2585.163014] [] do_sys_open+0x42/0xb8 [ 2585.163014] [] ? trace_hardirqs_on_thunk+0xc/0x10 [ 2585.163014] [] sys_open+0x1e/0x26 [ 2585.163014] [] sysenter_do_call+0x12/0x31 [ 2585.163014] ======================= The problem is that we don't unlock the bfs->lock mutex before calling iput (we do in the other cases). Signed-off-by: Eric Sesterhenn Cc: Tigran Aivazian Signed-off-by: Andrew Morton --- fs/bfs/dir.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff -puN fs/bfs/dir.c~bfs-lockdep-warning fs/bfs/dir.c --- a/fs/bfs/dir.c~bfs-lockdep-warning +++ a/fs/bfs/dir.c @@ -125,8 +125,8 @@ static int bfs_create(struct inode *dir, inode->i_ino); if (err) { inode_dec_link_count(inode); - iput(inode); mutex_unlock(&info->bfs_lock); + iput(inode); return err; } mutex_unlock(&info->bfs_lock); _ Patches currently in -mm which might be from snakebyte@gmx.de are origin.patch linux-next.patch hfsplus-fix-buffer-overflow-with-a-corrupted-image.patch hfsplus-check-read_mapping_page-return-value.patch hfsplus-fix-another-bug-when-reading-a-corrupted-image.patch hfs-fix-namelength-memory-corruption.patch hfsplus-check-hfs_bnode_find-return-value.patch