Re: [PATCH 1/1] Char: tty_io, fix closecount counting

From: Alan Cox
Date: Sat May 31 2008 - 09:58:47 EST


> It is ever vcs1, which is /dev/console and it is the only treated separately
> (otherwise I think we would have more (and distinct) reports like this).
> When the console is HUPped? And what should happen with openers? The
> 2.6.22+suse happened when sulogin /dev/console was invoked. Any ideas how to
> track this down?

Its a complete and total mess is the obvious answer. In fact its far
worse than it first looks and I don't believe it can be fixed without
reworking the whole printk/console stuff.

I spent several days this week mapping out how the tty open/close/hangup
logic works and to be honest what I've learned is

- It doesn't
- It can't be easily fixed to
- There are numerous races
- The whole "tty/console" abstraction for printk type stuff is totally
broken by design and replicated in several places for good measure.

At this point I have to say I can't even see a way to get from the
existing tty open/close/hangup logic to a working one which does not
involve changes to every driver with a 'flag day' type switch between the
two implementations.

For the existing codebase I think the best we can do in this area is label
it "condemned" and not touch it, because any change will be unpredictable
in its effect and not a real fix.

I'd love to be proved wrong. Doing a grand reimplementation of large
chunks of the tty layer isn't what I want to do, I just see no
alternative at this point.

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/