[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080914073906.GA6184@elte.hu>
Date: Sun, 14 Sep 2008 09:39:06 +0200
From: Ingo Molnar <mingo@...e.hu>
To: Nick Piggin <npiggin@...e.de>,
Andrew Morton <akpm@...ux-foundation.org>
Cc: Peter Zijlstra <a.p.zijlstra@...llo.nl>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: [lockdep] possible circular locking, between &mm->mmap_sem and
&dev->ev_mutex
with the new mmap_sem lockdep annotations, -tip testing found a third
lockdep assert, see below. Config attached.
Ingo
----------------->
[ 6460.634452]
[ 6460.634465] =======================================================
[ 6460.634494] [ INFO: possible circular locking dependency detected ]
[ 6460.634517] 2.6.27-rc6-tip-00290-g8e229c3-dirty #1
[ 6460.634535] -------------------------------------------------------
[ 6460.634555] gdm-simple-gree/4778 is trying to acquire lock:
[ 6460.634574] (&mm->mmap_sem){----}, at: [<c018fe33>] might_fault+0x36/0x73
[ 6460.634639]
[ 6460.634645] but task is already holding lock:
[ 6460.634662] (&dev->ev_mutex){--..}, at: [<c01c7a76>] inotify_read+0xd8/0x16e
[ 6460.634715]
[ 6460.634721] which lock already depends on the new lock.
[ 6460.634731]
[ 6460.634745]
[ 6460.634750] the existing dependency chain (in reverse order) is:
[ 6460.634769]
[ 6460.634774] -> #3 (&dev->ev_mutex){--..}:
[ 6460.634807] [<c0165edd>] __lock_acquire+0x914/0xa8a
[ 6460.634848] [<c01660c3>] lock_acquire+0x70/0x97
[ 6460.634876] [<c0b44e00>] __mutex_lock_common+0xe1/0x341
[ 6460.634921] [<c0b450f8>] mutex_lock_nested+0x2e/0x36
[ 6460.634950] [<c01c77d5>] inotify_dev_queue_event+0x25/0x127
[ 6460.634979] [<c01c6ad3>] inotify_inode_queue_event+0x87/0xb6
[ 6460.635010] [<c01a7c64>] fsnotify_create+0x2c/0x35
[ 6460.635049] [<c01a85ff>] vfs_create+0x77/0x88
[ 6460.635077] [<c01a9dc5>] do_filp_open+0x1aa/0x5ad
[ 6460.635107] [<c019f469>] do_sys_open+0x47/0xc1
[ 6460.635145] [<c019f52f>] sys_open+0x23/0x2b
[ 6460.635171] [<c011a20a>] syscall_call+0x7/0xb
[ 6460.635209] [<ffffffff>] 0xffffffff
[ 6460.635233]
[ 6460.635238] -> #2 (&ih->mutex){--..}:
[ 6460.635271] [<c0165edd>] __lock_acquire+0x914/0xa8a
[ 6460.635301] [<c01660c3>] lock_acquire+0x70/0x97
[ 6460.635328] [<c0b44e00>] __mutex_lock_common+0xe1/0x341
[ 6460.635358] [<c0b450f8>] mutex_lock_nested+0x2e/0x36
[ 6460.635386] [<c01c685e>] inotify_find_update_watch+0x4d/0x8e
[ 6460.635416] [<c01c740f>] sys_inotify_add_watch+0xc3/0x15d
[ 6460.635446] [<c011a17b>] sysenter_do_call+0x12/0x43
[ 6460.635474] [<ffffffff>] 0xffffffff
[ 6460.635497]
[ 6460.635502] -> #1 (&inode->inotify_mutex){--..}:
[ 6460.635537] [<c0165edd>] __lock_acquire+0x914/0xa8a
[ 6460.635565] [<c01660c3>] lock_acquire+0x70/0x97
[ 6460.635593] [<c0b44e00>] __mutex_lock_common+0xe1/0x341
[ 6460.635622] [<c0b450f8>] mutex_lock_nested+0x2e/0x36
[ 6460.635651] [<c01c6a8a>] inotify_inode_queue_event+0x3e/0xb6
[ 6460.635680] [<c01c7057>] inotify_dentry_parent_queue_event+0x69/0x83
[ 6460.635711] [<c01a1b3c>] __fput+0x70/0x135
[ 6460.635743] [<c01a1f36>] fput+0x1c/0x1e
[ 6460.635770] [<c0190f04>] remove_vma+0x3c/0x5b
[ 6460.635801] [<c01917c6>] do_munmap+0x197/0x1b1
[ 6460.635828] [<c0192728>] sys_munmap+0x2d/0x3c
[ 6460.635855] [<c011a17b>] sysenter_do_call+0x12/0x43
[ 6460.635883] [<ffffffff>] 0xffffffff
[ 6460.635939]
[ 6460.635944] -> #0 (&mm->mmap_sem){----}:
[ 6460.635977] [<c0165dae>] __lock_acquire+0x7e5/0xa8a
[ 6460.636006] [<c01660c3>] lock_acquire+0x70/0x97
[ 6460.636033] [<c018fe50>] might_fault+0x53/0x73
[ 6460.636061] [<c036f4fa>] copy_to_user+0x2d/0x41
[ 6460.636097] [<c01c7ab4>] inotify_read+0x116/0x16e
[ 6460.636125] [<c01a1497>] vfs_read+0x7d/0xad
[ 6460.636153] [<c01a16dd>] sys_read+0x40/0x62
[ 6460.636180] [<c011a17b>] sysenter_do_call+0x12/0x43
[ 6460.636209] [<ffffffff>] 0xffffffff
[ 6460.636232]
[ 6460.636238] other info that might help us debug this:
[ 6460.636248]
[ 6460.636264] 1 lock held by gdm-simple-gree/4778:
[ 6460.636280] #0: (&dev->ev_mutex){--..}, at: [<c01c7a76>] inotify_read+0xd8/0x16e
[ 6460.636330]
[ 6460.636335] stack backtrace:
[ 6460.636355] Pid: 4778, comm: gdm-simple-gree Not tainted 2.6.27-rc6-tip-00290-g8e229c3-dirty #1
[ 6460.636381] [<c016468c>] print_circular_bug_tail+0x5d/0x68
[ 6460.636415] [<c0165dae>] __lock_acquire+0x7e5/0xa8a
[ 6460.636449] [<c01660c3>] lock_acquire+0x70/0x97
[ 6460.636477] [<c018fe33>] ? might_fault+0x36/0x73
[ 6460.636512] [<c018fe50>] might_fault+0x53/0x73
[ 6460.636540] [<c018fe33>] ? might_fault+0x36/0x73
[ 6460.636573] [<c036f4fa>] copy_to_user+0x2d/0x41
[ 6460.636601] [<c01c7ab4>] inotify_read+0x116/0x16e
[ 6460.636630] [<c0159301>] ? autoremove_wake_function+0x0/0x35
[ 6460.636679] [<c01a1497>] vfs_read+0x7d/0xad
[ 6460.636707] [<c01c799e>] ? inotify_read+0x0/0x16e
[ 6460.636740] [<c01a16dd>] sys_read+0x40/0x62
[ 6460.636769] [<c011a17b>] sysenter_do_call+0x12/0x43
[ 6460.636799] [<c0110000>] ? x86_decode_insn+0x822/0x942
[ 6460.636841] =======================
[16242.726102] ACPI: EC: missing confirmations, switch off interrupt mode.
View attachment "config" of type "text/plain" (67997 bytes)
Powered by blists - more mailing lists