Re: lockdep warning after recent cleanup in console code

From: Jan Kara
Date: Tue Apr 29 2014 - 17:08:01 EST


On Tue 29-04-14 11:38:04, Andy Shevchenko wrote:
> On Mon, 2014-04-28 at 21:24 +0200, Jan Kara wrote:
> > On Mon 28-04-14 14:14:39, Steven Rostedt wrote:
> > > On Mon, 28 Apr 2014 19:51:39 +0200
> > > Jan Kara <jack@xxxxxxx> wrote:
> > >
> > > > On Mon 28-04-14 13:43:31, Steven Rostedt wrote:
> > > > > Things have changed with regard to printk() in linux-next. Now it
> > > > > appears that lockdep is going haywire over it. I don't understand the
> > > > > exact reason for the lockdep_off() and lockdep_on() logic that is in
> > > > > printk(), but it obviously seems to be causing issues with the new
> > > > > changes.
> > > > >
> > > > > Care to take a look?
> > > > The obvious cause is that I moved lockdep_on() somewhat earlier in
> > > > vprintk_emit() so lockdep now covers more of printk code. And apparently
> > > > something is wrong there...
> > > >
> > >
> > > Exactly, and I rather know *exactly* what is wrong before we just start
> > > throwing patches at the problem and hope it goes away. That's not how
> > > to solve a software bug.
> > So I had a look and we are missing mutex_release() in
> > console_trylock_for_printk() if we don't have a console to print to.
> > Attached patch should fix the problem.
>
> Besides it doesn't apply clearly on top of today's linux-next, it
> doesn't fix the issue, but modifies it a bit.
Sorry, I was too tired and missed conversion of one place. Attached is a
new version of the patch which also applies cleanly against linux-next.

Honza
--
Jan Kara <jack@xxxxxxx>
SUSE Labs, CR