netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [Bugme-new] [Bug 1360] New: Can't access /proc/self/fd/0 from sshd when no pty allocated.
       [not found] <200310151142.h9FBgi5k029003@fire-1.osdl.org>
@ 2003-10-19  0:27 ` Andrew Morton
  2003-10-19  6:57   ` David S. Miller
  0 siblings, 1 reply; 3+ messages in thread
From: Andrew Morton @ 2003-10-19  0:27 UTC (permalink / raw)
  To: dtucker; +Cc: netdev

bugme-daemon@osdl.org wrote:
>
> http://bugme.osdl.org/show_bug.cgi?id=1360
> 
>            Summary: Can't access /proc/self/fd/0 from sshd when no pty
>                     allocated.
>     Kernel Version: 2.6.0-test7
>             Status: NEW
>           Severity: normal
>              Owner: bugme-janitors@lists.osdl.org
>          Submitter: dtucker@zip.com.au
> 
> 
> Distribution: Redhat 8 w/2.6.0-test7
> Hardware Environment: AMD K6III/500, 256MB RAM
> Software Environment: gcc-3.2-7, glibc-2.3.2-4.80.6, openssh-3.7.1p2
> Problem Description:
> 
> Basically, processes lauched from sshd without a pty can't access /proc/self/fd/0.
> 
> This is an update to bug #1357 which has been closed as invalid (because it was
> a 2.4 vendor kernel).  I can reproduce with a vanilla 2.6.0-test7 kernel but I
> can't reopen the bug.
> 
> I'm guessing this in an issue with /proc, hence the "Filesystem" category,
> however I could be wrong.
> 
> Steps to reproduce:
> $ ssh testbox "uname -a"
> Linux testbox 2.6.0-test7 #11 Wed Oct 15 20:35:16 EST 2003 i686 unknown
> 
> $ echo test | ssh 192.168.32.108 "cat /proc/self/fd/0" 
> cat: /proc/self/fd/0: No such device or address
> 
> $ echo test | ssh testbox "cat | cat /proc/self/fd/0 | cat"
> test
> 
> In the failing example, the descriptor is a socket.  In the working example, the
> descriptor is a pipe.  I don't know if this is related.
> 
> $ ssh testbox "ls -l /proc/self/fd/"
> lrwx------    1 root     root           64 Oct 16 04:50 0 -> socket:[2474]
> lrwx------    1 root     root           64 Oct 16 04:50 1 -> socket:[2474]
> lrwx------    1 root     root           64 Oct 16 04:50 2 -> socket:[2476]
> lr-x------    1 root     root           64 Oct 16 04:50 3
> ls: ls:/proc/self/fd/3: No such file or directory
> 
> $ ssh testbox "cat | ls -l /proc/self/fd/ | cat"
> lr-x------    1 root     root           64 Oct 16 04:51 0 -> pipe:[2556]
> l-wx------    1 root     root           64 Oct 16 04:51 1 -> pipe:[2557] 
> lrwx------    1 root     root           64 Oct 16 04:51 2 -> socket:[2554]
> lr-x------    1 root     root           64 Oct 16 04:51 3
> ls: ls:/proc/self/fd/3: No such file or directory
> 
> (Also occurs on kernel-2.4.20-20.8, and self-made embedded system with VIA Ezra
> CPU, 2.6.0-test7 kernel + uClibc-0.9.19 + busybox userspace)
> 
> I have a stand-alone test case which I will attach.
> 

This appears to be deliberate:

/*
 *	In theory you can't get an open on this inode, but /proc provides
 *	a back door. Remember to keep it shut otherwise you'll let the
 *	creepy crawlies in.
 */
  
static int sock_no_open(struct inode *irrelevant, struct file *dontcare)
{
	return -ENXIO;
}

I do not know why; the comment is fairly useless.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Bugme-new] [Bug 1360] New: Can't access /proc/self/fd/0 from sshd when no pty allocated.
  2003-10-19  0:27 ` [Bugme-new] [Bug 1360] New: Can't access /proc/self/fd/0 from sshd when no pty allocated Andrew Morton
@ 2003-10-19  6:57   ` David S. Miller
  2003-10-22  8:40     ` Darren Tucker
  0 siblings, 1 reply; 3+ messages in thread
From: David S. Miller @ 2003-10-19  6:57 UTC (permalink / raw)
  To: Andrew Morton; +Cc: dtucker, netdev

On Sat, 18 Oct 2003 17:27:36 -0700
Andrew Morton <akpm@osdl.org> wrote:

> This appears to be deliberate:
> 
> /*
>  *	In theory you can't get an open on this inode, but /proc provides
>  *	a back door. Remember to keep it shut otherwise you'll let the
>  *	creepy crawlies in.
>  */
>   
> static int sock_no_open(struct inode *irrelevant, struct file *dontcare)
> {
> 	return -ENXIO;
> }
> 
> I do not know why; the comment is fairly useless.

For many socket types there are no sane open() semantics.

If I open() a unconnected socket, what does that mean?
Should it connect, of do something like a dup()?

This code has been this way for a long time, anyone who wants to
change this needs to deal with and address all the aforementioned
issues.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Bugme-new] [Bug 1360] New: Can't access /proc/self/fd/0 from sshd when no pty allocated.
  2003-10-19  6:57   ` David S. Miller
@ 2003-10-22  8:40     ` Darren Tucker
  0 siblings, 0 replies; 3+ messages in thread
From: Darren Tucker @ 2003-10-22  8:40 UTC (permalink / raw)
  To: David S. Miller; +Cc: Andrew Morton, netdev

"David S. Miller" wrote:
> 
> On Sat, 18 Oct 2003 17:27:36 -0700
> Andrew Morton <akpm@osdl.org> wrote:
> 
> > This appears to be deliberate:
[snip]
> >
> > I do not know why; the comment is fairly useless.
> 
> For many socket types there are no sane open() semantics.
> 
> If I open() a unconnected socket, what does that mean?
> Should it connect, of do something like a dup()?
> 
> This code has been this way for a long time, anyone who wants to
> change this needs to deal with and address all the aforementioned
> issues.

Thanks for looking at this.

I've done some digging on the OpenSSH side: originally sshd used pipes on
Linux but they were found [0] to have problems that cause lockups in (at
least) rsync.

[0] http://marc.theaimsgroup.com/?l=openssh-unix-dev&m=94914935131492

-- 
Darren Tucker (dtucker at zip.com.au)
GPG key 8FF4FA69 / D9A3 86E9 7EEE AF4B B2D4  37C9 C982 80C7 8FF4 FA69
    Good judgement comes with experience. Unfortunately, the experience
usually comes from bad judgement.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2003-10-22  8:40 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <200310151142.h9FBgi5k029003@fire-1.osdl.org>
2003-10-19  0:27 ` [Bugme-new] [Bug 1360] New: Can't access /proc/self/fd/0 from sshd when no pty allocated Andrew Morton
2003-10-19  6:57   ` David S. Miller
2003-10-22  8:40     ` Darren Tucker

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).