Re: [Regression] kdesu broken

From: Gene Heskett
Date: Tue Jul 28 2009 - 22:20:42 EST


On Saturday 25 July 2009, Alan Cox wrote:
>Actually try this:
>
>
>commit b0e6bdde87725a5d46273ecc4bd00c54bd675848
>Author: Alan Cox <alan@xxxxxxxxxxxxxxx>
>Date: Sat Jul 25 15:00:04 2009 +0100
>
> pty: ensure writes hit the reader before close
>
> This is elegant in all the wrong ways. Put the pty into low latency mode
> (which we can do as we always post bytes from user context). The
> tty_flip_buffer_push then always calls into the ldisc which means we clear
> the ldisc buffer before we set the TTY_OTHER_CLOSED flag.
>
> Means pty has subtle knowledge of tty internals we really don't want it
> to, but it fixes the problem for the moment.
>
> Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx>
>
>diff --git a/drivers/char/pty.c b/drivers/char/pty.c
>index 6e6942c..87d729b 100644
>--- a/drivers/char/pty.c
>+++ b/drivers/char/pty.c
>@@ -47,10 +47,12 @@ static void pty_close(struct tty_struct *tty, struct
> file *filp) }
> wake_up_interruptible(&tty->read_wait);
> wake_up_interruptible(&tty->write_wait);
>+
> tty->packet = 0;
> if (!tty->link)
> return;
> tty->link->packet = 0;
>+ tty_flip_buffer_push(tty->link);
> set_bit(TTY_OTHER_CLOSED, &tty->link->flags);
> wake_up_interruptible(&tty->link->read_wait);
> wake_up_interruptible(&tty->link->write_wait);
>@@ -207,6 +209,7 @@ static int pty_open(struct tty_struct *tty, struct file
> *filp) clear_bit(TTY_OTHER_CLOSED, &tty->link->flags);
> set_bit(TTY_THROTTLED, &tty->flags);
> retval = 0;
>+ tty->low_latency = 1;
> out:
> return retval;
> }

Tracing this kdesu thread down per advice from Rafael W. This patch doesn't
seem to do anything about bz 13841. There are more patches in this thread,
I'll give them some testing too.

--
Cheers, Gene
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
The NRA is offering FREE Associate memberships to anyone who wants them.
<https://www.nrahq.org/nrabonus/accept-membership.asp>

"Microsoft is the epitome of innovation and product quality."

-- This testimonial paid for by Microsoft.

--
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/