From: Oleg Nesterov <oleg@redhat.com>
To: Peter Hurley <peter@hurleysoftware.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Jiri Slaby <jslaby@suse.cz>,
Andrew Morton <akpm@linux-foundation.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
codonell <codonell@redhat.com>, Eduard Benes <ebenes@redhat.com>,
Karel Srot <ksrot@redhat.com>, Matt Newsome <mnewsome@redhat.com>,
linux-kernel@vger.kernel.org, stable@vger.kernel.org
Subject: Re: [PATCH] tty: Fix SIGTTOU not sent with tcflush()
Date: Thu, 26 Sep 2013 21:10:34 +0200 [thread overview]
Message-ID: <20130926191034.GA26591@redhat.com> (raw)
In-Reply-To: <20130926163633.GA22849@redhat.com>
On 09/26, Oleg Nesterov wrote:
>
> Thanks Peter.
>
> Well. I'am afraid my testing was wrong, because Karel reports
> it fixes the problem...
>
> But. I applied this patch to my 3.11 tree (last commit is bff157b3a)
> which also has the additional patch (03e12617 "tty: disassociate_ctty()
> sends the extra SIGCONT"), and
>
> TET_CONFIG=CFG TET_ROOT=. ./T.tcflush 4
>
> still fails... T.tcflush was compiled on another (Karel's) machine,
> perhaps there is something in libc, I do not know.
>
> So let me ask just in case, I assume the fix below doesn't depend on
> other changes I could miss?
>
> I'll retest after git-pull and report...
Still fails under the Linus's tree + this patch.
However!!!
Tested-by: Oleg Nesterov <oleg@redhat.com>
It turns out, T.tcflush doesn't expect it can start as a process group
leader. In this case setsid() fails, then tty_open() doesn't set
signal->tty, and thus this patch makes no difference: tty_check_change()
fails because tty doesn't match signal->tty.
And indeed, this test passes if you run it under strace, or simply do
$ TET_CONFIG=CFG TET_ROOT=. perl -e "system './T.tcflush 4'"
And damn, the fact it doesn't fail under strace doesn't allow you to
see that setsid() fails ;)
This is probably explains why Karel reported success, perhaps he
didn't run this test individually.
Thanks again Peter. Perhaps my analysis was wrong (and I do not see
setsid() in the sources), I do not really care. but perhaps tcflush.c
should be updated.
Oleg.
next prev parent reply other threads:[~2013-09-26 19:17 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-15 15:50 [PATCH 0/1] tty: disassociate_ctty() sends the extra SIGCONT Oleg Nesterov
2013-09-15 15:50 ` [PATCH 1/1] " Oleg Nesterov
2013-09-16 22:16 ` Peter Hurley
2013-09-17 19:41 ` Carlos O'Donell
2013-09-17 20:30 ` Peter Hurley
2013-09-17 20:39 ` Peter Hurley
2013-09-21 18:34 ` Oleg Nesterov
2013-09-21 20:25 ` Peter Hurley
2013-09-22 20:03 ` Oleg Nesterov
2013-09-24 18:18 ` Peter Hurley
2013-09-25 16:21 ` v3.10 breaks T.tcflush (Was: tty: disassociate_ctty() sends the extra SIGCONT) Oleg Nesterov
2013-09-25 17:56 ` Oleg Nesterov
2013-09-26 0:06 ` Peter Hurley
2013-09-26 0:13 ` [PATCH] tty: Fix SIGTTOU not sent with tcflush() Peter Hurley
2013-09-26 0:24 ` Greg Kroah-Hartman
2013-09-26 16:36 ` Oleg Nesterov
2013-09-26 19:10 ` Oleg Nesterov [this message]
2013-09-26 21:18 ` Peter Hurley
2013-09-27 5:19 ` Karel Srot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130926191034.GA26591@redhat.com \
--to=oleg@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=codonell@redhat.com \
--cc=ebenes@redhat.com \
--cc=gregkh@linuxfoundation.org \
--cc=jslaby@suse.cz \
--cc=ksrot@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mnewsome@redhat.com \
--cc=peter@hurleysoftware.com \
--cc=stable@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.