Re: [Bug 10741] bug in `tty: BKL pushdown'?

Johannes Weiner
2008-06-16T15:34:04Z

Hi,

Alan Cox <alan@lxorguk.ukuu.org.uk> writes:

> On Mon, 16 Jun 2008 11:33:13 +0100
> Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
>
>> > The bug still exists, however, a bisect on another machine with the same
>> > userland leads to different commit
>> > (47f86834bbd4193139d61d659bebf9ab9d691e37 "redo locking of tty->pgrp"),
>> > so it is not all that clear and stable.
>>
>> Now that would actually make a lot more sense as a root cause.
>
> Experiment time. In _proc_set_tty() in tty_io.c move the
>
> tty->session = get_pid(task_session(tsk));
>
> back inside the lock just before
>
> tty->pgrp = get_pid(task_pgrp(tsk));

Like this:?

spin_lock()
put_pid()
put_pid()
tty->session =
tty->pgrp =
spin_unlock()

That does not fix it.

Hannes