Messages in this thread | | | Subject | Re: [RCF] [PATCH] unprivileged mount/umount | From | Ram <> | Date | Fri, 13 May 2005 09:53:58 -0700 |
| |
On Fri, 2005-05-13 at 02:10, Miklos Szeredi wrote: > > dentry = file->f_dentry; > > mnt = file->f_vfsmnt; > > inode = dentry->d_inode; > > + if(mnt->mnt_namespace != current->namespace) > > + goto out_putf; > > > > error = -ENOTDIR; > > if (!S_ISDIR(inode->i_mode)) > > > > Does this actually fix the problem? The open is done in the right > namespace, and mount() doesn't call open().
Right but this fix disallows fchdir into a directory belonging to a different namespace. And hence would disallow the ability to cross mount across namespaces.
RP
> > I think the right fix is something like this: > > Index: linux/fs/namespace.c > =================================================================== > --- linux.orig/fs/namespace.c 2005-05-13 11:03:50.000000000 +0200 > +++ linux/fs/namespace.c 2005-05-13 11:05:06.000000000 +0200 > @@ -160,7 +160,7 @@ clone_mnt(struct vfsmount *old, struct d > mnt->mnt_root = dget(root); > mnt->mnt_mountpoint = mnt->mnt_root; > mnt->mnt_parent = mnt; > - mnt->mnt_namespace = old->mnt_namespace; > + mnt->mnt_namespace = current->namespace;
> > /* stick the duplicate mount on the same expiry list > * as the original if that was on one */ > > - > To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |