About this list Date view Thread view Subject view Author view Attachment view

From: Paul Sladen (vserver_at_paul.sladen.org)
Date: Thu 14 Aug 2003 - 11:46:28 BST

On Thu, 14 Aug 2003, Herbert P÷tzl wrote:
> On Thu, Aug 14, 2003 at 01:38:36AM +0200, Bodo Eggert wrote:
> > Maybe you could change /proc/mounts into a symlink to /etc/mtab.
> would also be an option ... other suggestions?

`/proc/mounts' is actually already a symlink to `/proc/self/mounts' which is
the individual calling processes' namespace; this could probably be
hard-coded to `../etc/mtab' [BUT, see below]:

  $ grep 'self/mounts' fs/proc/*.c
  fs/proc/proc_misc.c: proc_symlink("mounts", NULL, "self/mounts");

The problem is that that would do it globally (it is done on bootup when
procfs is first mounted), whereas leaving `/proc/mounts' pointing at the
task's namespace will make it easier to do it per-task (really per-context).

I think the fiddling needs doing in `fs/name{space,i}.c', although I haven't
found where... There various things along the line of:

          while (mnt->mnt_parent != mnt)
                mnt = mnt->mnt_parent;

So if it is within the current chroot, it stops iterating upwards, otherwise
if it is outside. --We need to remove it if it is outside.

Also, have a quick skim (read) over:


I just looked at it recently and noticed there are a couple of things in
there. -It seems that virtuozzo sys_reboot() is causing all the processes in
that context to be killed (something we could do with a function to cause).

Secondly, grepping the virtuozzo diff, there's some patching to:

  follow_dotdot(), in fs/namei.c

+#ifdef CONFIG_VE
+ if (nd->dentry == current->envid->fs_root &&
+ nd->mnt == current->envid->fs_rootmnt) {
+ read_unlock(&current->fs->lock);
+ break;
+ }

  [envid is equivalent to vserver's ctx]

which maybe related...? (Or that could be chroot() protection).

Happy investigating!


War is inconsistent with Truth.  Nottingham, GB

About this list Date view Thread view Subject view Author view Attachment view
[Next/Previous Months] [Main vserver Project Homepage] [Howto Subscribe/Unsubscribe] [Paul Sladen's vserver stuff]
Generated on Thu 14 Aug 2003 - 12:19:08 BST by hypermail 2.1.3