Re: [patch 2.4] make tty->count atomic_t

Jes Sorensen
2003-04-03T23:07:06Z

>>>>> "Russell" == Russell King <rmk@arm.linux.org.uk> writes:

Russell> On Thu, Apr 03, 2003 at 12:16:21PM -0500, Jes Sorensen wrote:
>> I believe the 2.4 tty code is racey in the way it handles
>> tty->count. release_dev() does the tty->count-- thing without
>> protecting against parallel execution, hence tty->count can end up
>> a random state as
tty-> count-- isn't guaranteed to be atomic (load-store architectures
tty-> and
>> architectures with weak memory ordering etc).

Russell> Isn't release_dev() only called under the BKL, which
Russell> guarantees the old "single-thread in the kernel at a time"
Russell> behaviour from pre-SMP Linux ?

It's called from tty_release() and tty_open(). tty_release() grabs the
BKL but I don't see the path that grabs it when calling through
tty_open() (doesn't mean I am not blind of course ;-).

cheers,
Jes