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: <1264531673.4283.1947.camel@laptop>
Date:	Tue, 26 Jan 2010 19:47:53 +0100
From:	Peter Zijlstra <peterz@...radead.org>
To:	Oleg Nesterov <oleg@...hat.com>
Cc:	KOSAKI Motohiro <kosaki.motohiro@...fujitsu.com>,
	Ingo Molnar <mingo@...e.hu>,
	LKML <linux-kernel@...r.kernel.org>,
	Alan Cox <alan@...rguk.ukuu.org.uk>,
	Américo Wang <xiyou.wangcong@...il.com>,
	"Eric W. Biederman" <ebiederm@...ssion.com>
Subject: Re: check_usage_backwards() && forwards? (Was: [2.6.33-rc5]
 starting emacs makes lockdep warning)

On Tue, 2010-01-26 at 19:16 +0100, Oleg Nesterov wrote:
> (add  lockdep gurus)
> 
> Lockdep has found the real bug, but the output doesn't look right to me
> 
> On 01/26, KOSAKI Motohiro wrote:
> >
> > =========================================================
> > [ INFO: possible irq lock inversion dependency detected ]
> > 2.6.33-rc5 #77
> > ---------------------------------------------------------
> > emacs/1609 just changed the state of lock:
> >  (&(&tty->ctrl_lock)->rlock){+.....}, at: [<ffffffff8127c648>] tty_fasync+0xe8/0x190
> > but this lock took another, HARDIRQ-unsafe lock in the past:
> >  (&(&sighand->siglock)->rlock){-.....}
> 
> "HARDIRQ-unsafe" and "this lock took another" looks wrong, afaics.
> 
> >   ... key      at: [<ffffffff81c054a4>] __key.46539+0x0/0x8
> >   ... acquired at:
> >    [<ffffffff81089af6>] __lock_acquire+0x1056/0x15a0
> >    [<ffffffff8108a0df>] lock_acquire+0x9f/0x120
> >    [<ffffffff81423012>] _raw_spin_lock_irqsave+0x52/0x90
> >    [<ffffffff8127c1be>] __proc_set_tty+0x3e/0x150
> >    [<ffffffff8127e01d>] tty_open+0x51d/0x5e0
> 
> The stack-trace shows that this lock (ctrl_lock) was taken under
> ->siglock (which is hopefully irq-safe).
> 
> Typo in check_usage_backwards() ?

Yes, very much so, thanks!

> Oleg.
> 
> --- a/kernel/lockdep.c
> +++ b/kernel/lockdep.c
> @@ -2147,7 +2147,7 @@ check_usage_backwards(struct task_struct
>  		return ret;
>  
>  	return print_irq_inversion_bug(curr, &root, target_entry,
> -					this, 1, irqclass);
> +					this, 0, irqclass);
>  }
>  
>  void print_irqtrace_events(struct task_struct *curr)
> 


--
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