From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org, Jiri Slaby <jslaby@suse.cz>,
Mauro Carvalho Chehab <mchehab@redhat.com>,
Bryan Mason <bmason@redhat.com>
Subject: [ 14/40] TTY: do not reset masters packet mode
Date: Mon, 18 Mar 2013 14:10:52 -0700 [thread overview]
Message-ID: <20130318211017.284127513@linuxfoundation.org> (raw)
In-Reply-To: <20130318211016.254453918@linuxfoundation.org>
3.0-stable review patch. If anyone has any objections, please let me know.
------------------
From: Jiri Slaby <jslaby@suse.cz>
commit b81273a132177edd806476b953f6afeb17b786d5 upstream.
Now that login from util-linux is forced to drop all references to a
TTY which it wants to hangup (to reach reference count 1) we are
seeing issues with telnet. When login closes its last reference to the
slave PTY, it also resets packet mode on the *master* side. And we
have a race here.
What telnet does is fork+exec of `login'. Then there are two
scenarios:
* `login' closes the slave TTY and resets thus master's packet mode,
but even now telnet properly sets the mode, or
* `telnetd' sets packet mode on the master, `login' closes the slave
TTY and resets master's packet mode.
The former case is OK. However the latter happens in much more cases,
by the order of magnitude to be precise. So when one tries to login to
such a messed telnet setup, they see the following:
inux login:
ogin incorrect
Note the missing first letters -- telnet thinks it is still in the
packet mode, so when it receives "linux login" from `login', it
considers "l" as the type of the packet and strips it.
SuS does not mention how the implementation should behave. Both BSDs I
checked (Free and Net) do not reset the flag upon the last close.
By this I am resurrecting an old bug, see References. We are hitting
it regularly now, i.e. with updated util-linux, ergo login.
Here, I am changing a behavior introduced back in 2.1 times. It would
better have a long time testing before goes upstream.
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Cc: Mauro Carvalho Chehab <mchehab@redhat.com>
Cc: Bryan Mason <bmason@redhat.com>
References: https://lkml.org/lkml/2009/11/11/223
References: https://bugzilla.redhat.com/show_bug.cgi?id=504703
References: https://bugzilla.novell.com/show_bug.cgi?id=797042
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/tty/pty.c | 1 -
1 file changed, 1 deletion(-)
--- a/drivers/tty/pty.c
+++ b/drivers/tty/pty.c
@@ -49,7 +49,6 @@ static void pty_close(struct tty_struct
tty->packet = 0;
if (!tty->link)
return;
- tty->link->packet = 0;
set_bit(TTY_OTHER_CLOSED, &tty->link->flags);
wake_up_interruptible(&tty->link->read_wait);
wake_up_interruptible(&tty->link->write_wait);
next prev parent reply other threads:[~2013-03-18 21:10 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-18 21:10 [ 00/40] 3.0.70-stable review Greg Kroah-Hartman
2013-03-18 21:10 ` [ 01/40] qcaux: add Franklin U600 Greg Kroah-Hartman
2013-03-18 21:10 ` [ 02/40] virtio: rng: disallow multiple device registrations, fixes crashes Greg Kroah-Hartman
2013-03-18 21:10 ` [ 03/40] USB: option: add Huawei E5331 Greg Kroah-Hartman
2013-03-18 21:10 ` [ 04/40] USB: cdc-wdm: fix buffer overflow Greg Kroah-Hartman
2013-03-18 21:10 ` [ 05/40] usb: cp210x new Vendor/Device IDs Greg Kroah-Hartman
2013-03-18 21:10 ` [ 06/40] USB: added support for Cinterions products AH6 and PLS8 Greg Kroah-Hartman
2013-03-18 21:10 ` [ 07/40] usb: serial: Add Rigblaster Advantage to device table Greg Kroah-Hartman
2013-03-18 21:10 ` [ 08/40] USB: storage: fix Huawei mode switching regression Greg Kroah-Hartman
2013-03-18 21:10 ` [ 09/40] USB: EHCI: dont check DMA values in QH overlays Greg Kroah-Hartman
2013-03-18 21:10 ` [ 10/40] staging: vt6656: Fix oops on resume from suspend Greg Kroah-Hartman
2013-03-18 21:10 ` [ 11/40] signal: always clear sa_restorer on execve Greg Kroah-Hartman
2013-03-18 21:10 ` [ 12/40] ext3: Fix format string issues Greg Kroah-Hartman
2013-03-18 21:10 ` [ 13/40] tty: serial: fix typo "ARCH_S5P6450" Greg Kroah-Hartman
2013-03-18 21:10 ` Greg Kroah-Hartman [this message]
2013-03-18 21:10 ` [ 15/40] md: protect against crash upon fsync on ro array Greg Kroah-Hartman
2013-03-18 21:10 ` [ 16/40] Revert duplicated perf commit Greg Kroah-Hartman
2013-03-21 3:31 ` Ben Hutchings
2013-03-18 21:10 ` [ 17/40] ALSA: seq: Fix missing error handling in snd_seq_timer_open() Greg Kroah-Hartman
2013-03-18 21:10 ` [ 18/40] hwmon: (lineage-pem) Add missing terminating entry for pem_[input|fan]_attributes Greg Kroah-Hartman
2013-03-18 21:10 ` [ 19/40] w1: fix oops when w1_search is called from netlink connector Greg Kroah-Hartman
2013-03-18 21:10 ` [ 20/40] powerpc: Fix cputable entry for 970MP rev 1.0 Greg Kroah-Hartman
2013-03-18 21:10 ` [ 21/40] selinux: use GFP_ATOMIC under spin_lock Greg Kroah-Hartman
2013-03-18 21:11 ` [ 22/40] perf,x86: fix kernel crash with PEBS/BTS after suspend/resume Greg Kroah-Hartman
2013-03-18 21:11 ` [ 23/40] perf,x86: fix wrmsr_on_cpu() warning on suspend/resume Greg Kroah-Hartman
2013-03-18 21:11 ` [ 24/40] perf,x86: fix link failure for non-Intel configs Greg Kroah-Hartman
2013-03-18 21:11 ` [ 25/40] s390/mm: fix flush_tlb_kernel_range() Greg Kroah-Hartman
2013-03-18 21:11 ` [ 26/40] btrfs: use rcu_barrier() to wait for bdev puts at unmount Greg Kroah-Hartman
2013-03-18 21:11 ` [ 27/40] drm/i915: EBUSY status handling added to i915_gem_fault() Greg Kroah-Hartman
2013-03-18 21:11 ` [ 28/40] hwmon: (sht15) Fix memory leak if regulator_enable() fails Greg Kroah-Hartman
2013-03-18 21:11 ` [ 29/40] block: use i_size_write() in bd_set_size() Greg Kroah-Hartman
2013-03-18 21:11 ` [ 30/40] loopdev: fix a deadlock Greg Kroah-Hartman
2013-03-18 21:11 ` [ 31/40] l2tp: Restore socket refcount when sendmsg succeeds Greg Kroah-Hartman
2013-03-18 21:11 ` [ 32/40] rds: limit the size allocated by rds_message_alloc() Greg Kroah-Hartman
2013-03-18 21:11 ` [ 33/40] net: ipv6: Dont purge default router if accept_ra=2 Greg Kroah-Hartman
2013-03-18 21:11 ` [ 34/40] tcp: fix double-counted receiver RTT when leaving receiver fast path Greg Kroah-Hartman
2013-03-18 21:11 ` [ 35/40] tun: add a missing nf_reset() in tun_net_xmit() Greg Kroah-Hartman
2013-03-18 21:11 ` [ 36/40] netlabel: correctly list all the static label mappings Greg Kroah-Hartman
2013-03-18 21:11 ` [ 37/40] bridging: fix rx_handlers return code Greg Kroah-Hartman
2013-03-18 21:11 ` [ 38/40] ipv6: stop multicast forwarding to process interface scoped addresses Greg Kroah-Hartman
2013-03-18 21:11 ` [ 39/40] rtnl: fix info leak on RTM_GETLINK request for VF devices Greg Kroah-Hartman
2013-03-18 21:11 ` [ 40/40] dcbnl: fix various netlink info leaks Greg Kroah-Hartman
2013-03-19 0:47 ` [ 00/40] 3.0.70-stable review Shuah Khan
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=20130318211017.284127513@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=bmason@redhat.com \
--cc=jslaby@suse.cz \
--cc=linux-kernel@vger.kernel.org \
--cc=mchehab@redhat.com \
--cc=stable@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).