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]
Date:	Wed, 9 Nov 2011 20:05:53 +0000
From:	Luis Henriques <henrix@...andro.org>
To:	Peter Zijlstra <peterz@...radead.org>
Cc:	Greg KH <greg@...ah.com>,
	Andrew Morton <akpm@...ux-foundation.org>,
	Vasiliy Kulikov <segoon@...nwall.com>,
	Miles Lane <miles.lane@...il.com>,
	LKML <linux-kernel@...r.kernel.org>,
	Ingo Molnar <mingo@...hat.com>,
	Alexey Dobriyan <adobriyan@...il.com>, stable@...r.kernel.org
Subject: Re: Linus GIT - INFO: possible circular locking dependency detected

On Wed, Nov 09, 2011 at 08:52:12PM +0100, Peter Zijlstra wrote:
> On Wed, 2011-11-09 at 19:11 +0000, Luis Henriques wrote:
> > [   12.948038] -> #0 (&sig->cred_guard_mutex){+.+.+.}:
> > [   12.948038]        [<ffffffff8108ff9f>] __lock_acquire+0x17bf/0x2020
> > [   12.948038]        [<ffffffff81092e4f>] lock_acquire+0xaf/0x1f0
> > [   12.948038]        [<ffffffff8135b2a5>] __mutex_lock_common+0x65/0x4d0
> > [   12.948038]        [<ffffffff8135b76b>] mutex_lock_killable_nested+0x1b/0x20
> > [   12.948038]        [<ffffffff811b301e>] lock_trace+0x2e/0x80
> > [   12.948038]        [<ffffffff811b73ab>] proc_readfd_common+0x5b/0x4b0
> > [   12.948038]        [<ffffffff811b7835>] proc_readfd+0x15/0x20
> > [   12.948038]        [<ffffffff8115f8f0>] vfs_readdir+0xb0/0xd0
> > [   12.948038]        [<ffffffff8115fa09>] sys_getdents+0x89/0x100
> > [   12.948038]        [<ffffffff8135e8c2>] system_call_fastpath+0x16/0x1b
> > 
> > sb->s_type->i_mutex_key is shown as being acquired in the execve path,
> > which seems to be wrong -- it was acquired in the vfs_readdir (on the 2nd
> > trace).
> > 
> > This means that the initial analysis from Vasiliy is incorrect, as he
> > assumed the execve path.  Or Am I interpreting this log incorrectly?
> > (Probably I am...). 
> 
> ->#0 shows where sig->cred_guard_mutex was taken, as it was the first
> lock there is no nesting yet and therefore the ->i_mutex_key#6 thing
> should not be associated with this stacktrace.
> 
> ->#1 shows where ->i_mutex_key#6 was taken while holding
> ->cred_guard_mutex (but doesn't explicitly show where that was taken).
> 
> Mostly ->#0 information is useless in lockdep reports and can be safely
> ignored.

Interesting.  Thank you for the clarification.  I understood it the other
way around, as the log starts with:

[   12.948038] exe/36 is trying to acquire lock:
[   12.948038]  (&sig->cred_guard_mutex){+.+.+.}, at: [<ffffffff811b301e>] lock_trace+0x2e/0x80
[   12.948038] 
[   12.948038] but task is already holding lock:
[   12.948038]  (&sb->s_type->i_mutex_key#6){+.+.+.}, at: [<ffffffff8115f8b8>] vfs_readdir+0x78/0xd0

This is why I thought the "useless information" was in ->#1 (for the
i_mutex_key#6).

Cheers,
--
Luis Henriques
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ