lkml.org 
[lkml]   [2012]   [Jul]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: Subject: [PATCH] tty ldisc: Close/Reopen race prevention should check the proper flag
On 07/07/2012 12:24 AM, Greg KH wrote:
> On Sun, Jul 01, 2012 at 09:53:19AM +0300, Shachar Shemesh wrote:
>> From: Shachar Shemesh <shachar@liveu.tv>
>>
>> Commit acfa747b introduced the TTY_HUPPING flag to distinguish
>> closed TTY from currently closing ones. The test in tty_set_ldisc
>> still remained pointing at the old flag. This causes pppd to
>> sometimes lapse into uninterruptible sleep when killed and
>> restarted.
>>
>> Signed-off-by: Shachar Shemesh <shachar@liveu.tv>
>> ---
>> Tested with 3.2.20 kernel.
>>
> All tabs are converted to spaces and make this patch impossible to apply
> :(
>
> Care to try again?
I'm sorry, I'm sending this as an attachment. I've verified that my
mailer sends this as plain text, so it should be okay.

Shachar

diff --git a/drivers/tty/tty_ldisc.c b/drivers/tty/tty_ldisc.c
index 24b95db..a662a24 100644
--- a/drivers/tty/tty_ldisc.c
+++ b/drivers/tty/tty_ldisc.c
@@ -658,7 +658,7 @@ int tty_set_ldisc(struct tty_struct *tty, int ldisc)
goto enable;
}

- if (test_bit(TTY_HUPPED, &tty->flags)) {
+ if (test_bit(TTY_HUPPING, &tty->flags)) {
/* We were raced by the hangup method. It will have stomped
the ldisc data and closed the ldisc down */
clear_bit(TTY_LDISC_CHANGING, &tty->flags);
\
 
 \ /
  Last update: 2012-07-08 11:21    [W:0.089 / U:0.224 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site