lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ