Prev: [PATCH] drm/ttm: remove padding from ttm_ref_object on 64bit builds
Next: tsl2550: Move form i2c/chips to als and update interfaces
From: Peter Zijlstra on 26 Jan 2010 13:50 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(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |