linux-um archives
 help / color / mirror / Atom feed
From: Alan Cox <alan@lxorguk.ukuu.org.uk>
To: Karel Zak <kzak@redhat.com>
Cc: user-mode-linux-devel@lists.sourceforge.net,
	Richard Weinberger <richard@nod.at>,
	linux-kernel@vger.kernel.org, viro@zeniv.linux.org.uk,
	gregkh@linuxfoundation.org, jslaby@suse.cz, alan@linux.intel.com
Subject: Re: [uml-devel] um: TTY fixes (?)
Date: Tue, 5 Jun 2012 12:15:32 +0100	[thread overview]
Message-ID: <20120605121532.366a6526@pyramind.ukuu.org.uk> (raw)
In-Reply-To: <20120605104125.GA14536@x2.net.home>

>  open_tty() closes all the old file descriptors after tty open:

It needs to close them before.
> 
>     vhangup();
>     ...
> 	fd = open(tty, O_RDWR | O_NONBLOCK);
>     ...
> 
> 	flags = fcntl(fd, F_GETFL);
> 	flags &= ~O_NONBLOCK;
> 	fcntl(fd, F_SETFL, flags);
> 
> 	for (i = 0; i < fd; i++)
> 		close(i);
> 	for (i = 0; i < 3; i++)
> 		if (fd != i)
> 			dup2(fd, i);
> 	if (fd >= 3)
> 		close(fd);
> 
> we use this for pretty long time (17+ years).
> 
> > If I add:
> >         fclose(stdin);
> >         fclose(stdout);
> >         fclose(stderr);
> > before the call to vhangup() login works like charm. :-)
> > 
> > Karel, what do you think?
> 
>  It's probably no problem to close all the file descriptors before
>  vhangup(), but it would be nice to know why we need this change after
>  20 years :-)

Because we want to actually fix the standards (and security) violation
that means it has happened to work on the console for 20 years.

Actually I'd prefer a clever solution which can spot all the fds are the
same process so we can keep compatibility but I've not found a sensible
way to do that.

Alan

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel


  reply	other threads:[~2012-06-05 11:12 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-04 20:27 um: TTY fixes (?) Richard Weinberger
2012-06-04 20:27 ` [uml-devel] [PATCH 1/6] TTY: um/line, add tty_port Richard Weinberger
2012-06-04 20:27 ` [uml-devel] [PATCH 2/6] TTY: um/line, use tty from tty_port Richard Weinberger
2012-06-04 20:27 ` [uml-devel] [PATCH 3/6] um: remove line_ioctl() Richard Weinberger
2012-06-04 20:27 ` [uml-devel] [PATCH 4/6] um: Remove dead code Richard Weinberger
2012-06-04 20:27 ` [uml-devel] [PATCH 5/6] um: fully use tty_port Richard Weinberger
2012-06-04 20:47   ` Jiri Slaby
2012-06-04 20:27 ` [uml-devel] [PATCH 6/6] um: remove count_lock Richard Weinberger
2012-06-04 21:17 ` [uml-devel] um: TTY fixes (?) Alan Cox
2012-06-04 23:14   ` Richard Weinberger
2012-06-05 10:41     ` Karel Zak
2012-06-05 11:15       ` Alan Cox [this message]
2012-06-05 12:20         ` Richard Weinberger
2012-06-05 15:17           ` [uml-devel] " Karel Zak
2012-07-12 14:49             ` Karel Zak
2012-07-12 15:01               ` Richard Weinberger
2012-06-06 23:17   ` Richard Weinberger
2012-06-07  9:19     ` Alan Cox
2012-06-07  9:06       ` Richard Weinberger
2012-06-06 14:20 ` [uml-devel] " Boaz Harrosh
2012-06-07  7:35   ` Boaz Harrosh
2012-06-07  7:43     ` Boaz Harrosh
2012-06-07  8:45     ` Richard Weinberger
2012-06-07  9:22       ` Alan Cox
2012-06-07 10:14       ` Boaz Harrosh
2012-06-07 10:19         ` Richard Weinberger
2012-06-07 10:35           ` Boaz Harrosh
2012-06-07 10:52           ` Alan Cox
2012-06-07 13:41             ` Boaz Harrosh
2012-06-07 15:18             ` Richard Weinberger
2012-06-07 16:37               ` Alan Cox
2012-06-07 16:32                 ` Richard Weinberger
2012-06-07 16:50                   ` Alan Cox
2012-06-07 16:41                     ` Richard Weinberger
2012-06-07 17:26                       ` Alan Cox

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=20120605121532.366a6526@pyramind.ukuu.org.uk \
    --to=alan@lxorguk.ukuu.org.uk \
    --cc=alan@linux.intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jslaby@suse.cz \
    --cc=kzak@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=richard@nod.at \
    --cc=user-mode-linux-devel@lists.sourceforge.net \
    --cc=viro@zeniv.linux.org.uk \
    /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