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>