lkml.org 
[lkml]   [2010]   [Jan]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: check_usage_backwards() && forwards? (Was: [2.6.33-rc5] starting emacs makes lockdep warning)
From
Date
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)
>




\
 
 \ /
  Last update: 2010-01-26 19:51    [W:0.148 / U:29.976 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site