Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 15 Mar 2010 20:46:05 -0400
From:      John Nielsen <lists@jnielsen.net>
To:        Ed Schouten <ed@80386.nl>
Cc:        freebsd-emulation@freebsd.org
Subject:   Re: linux-only jail possible?
Message-ID:  <201003152046.05915.lists@jnielsen.net>
In-Reply-To: <20100307104437.GM8200@hoeg.nl>
References:  <201003021325.27197.lists@jnielsen.net> <20100307113538.00007555@unknown> <20100307104437.GM8200@hoeg.nl>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sunday 07 March 2010 05:44:37 am Ed Schouten wrote:
> * Alexander Leidinger <Alexander@Leidinger.net> wrote:
> > On Sat, 6 Mar 2010 19:15:12 +0100 Ed Schouten <ed@80386.nl> wrote:
> > > I am still in doubt what to do. Maybe we could consider committing
> > > a patch like this:
> >
> > [...]
> >
> > > This is a bit more complete. What it does, is that it creates a
> > > symlink from /proc/%d/fd to /dev/fd, only if the calling process
> > > matches. Then when you mount fdescfs on /dev/fd, it also does the
> > > right thing, because it will always readlink() on a character
> > > device, which also returns an error code.
> > >
> > > Comments, suggestions anyone?
> >
> > Looks better than the one before. :)
>
> Great. Just committed it to SVN:
>
> 	http://svn.freebsd.org/viewvc/base?view=revision&revision=204825

I finally tried the patch from SVN today and it does NOT resolve the 
openpty issue on FreeBSD 8-STABLE amd64 + CentOS 5.4 i386 jail + OpenSSH 
4.3p2. I still (or again) get the "fatal: openpty returns device for 
which ttyname fails." message.

Your prior patch from this thread (below) still works fine.

JN

On Saturday 06 March 2010 12:41:59 pm John Nielsen wrote:
> On Saturday 06 March 2010 03:12:38 Ed Schouten wrote:
> > Behold, another way to fix this. Still not beautiful, but in my
> > opinion not too bad.
>
> Pretty or not the hack does the job. Thanks again!
>
> > Index: sys/compat/linprocfs/linprocfs.c
>
> ===================================================================
>
> > --- sys/compat/linprocfs/linprocfs.c	(revision 204763)
> > +++ sys/compat/linprocfs/linprocfs.c	(working copy)
> > @@ -1312,6 +1312,8 @@
> >  	    NULL, NULL, NULL, PFS_RD);
> >  	pfs_create_file(dir, "status", &linprocfs_doprocstatus,
> >  	    NULL, NULL, NULL, PFS_RD);
> > +	/* XXX: Hack to make ttyname() work. */
> > +	pfs_create_file(dir, "fd", NULL, NULL, NULL, NULL, PFS_RD);
> >
> >  	/* /proc/scsi/... */
> >  	dir = pfs_create_dir(root, "scsi", NULL, NULL, NULL, 0);
> >
> > This creates a bogus file called /proc/%d/fd. Because of this, the
> > readlink() call will return ENOTDIR.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201003152046.05915.lists>