Re: [PATCH] tty: add lockdep annotations

From: Alan Cox
Date: Fri Jun 01 2012 - 16:23:08 EST


On Fri, 1 Jun 2012 11:51:13 -0700
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:

> On Fri, Jun 1, 2012 at 11:17 AM, Eric Dumazet
> <eric.dumazet@xxxxxxxxx> wrote:
> >
> > About 10% of boots on my machine, and this looks like (hand written)
> >
> > general protection fault: 0000 [#1] SMP DEBUG_PAGEALLOC
> > ...
> > RIP : tty_shutdown+0x15/)x70
>
> Ok, DEBUG_PAGEALLOC and with that offset fairly early in tty_shutdown,
> it's almost certainly one of the accesses in the
>
> tty->driver->ops->remove
>
> chain when it does the (inlined)
>
> tty_driver_remove_tty(tty->driver, tty);
>
> you could check which one it is at that offset 0x15, but I think both
> the ops and the driver structures should be statically allocated, so I
> suspect it's the "tty" itself that is already freed.

Might be worth checking tty->magic in queue_release_one_tty and the
entry to release_one_tty

You can also turn on TTY_PARANOIA_CHECK defines which may show more but
can also be mistriggered in a few cases.

What distro setup is this and is it booting to run level 3 or 5. I'm
just wondering which paths you hit. Some of the distros do weird stuff
(notably Fedora is totally broken on the console management) and that
might be hiding a race or two in saner cases where you get more console
hangups.

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