Re: [PATCH] private mounts

Ram
2005-05-01T02:40:00Z

On Sat, 2005-04-30 at 16:58, Jamie Lokier wrote:
> Olivier Galibert wrote:
> > > > "mount --bind /proc/self/fd/N mount_point" works, try it.
> > >
> > > What do people think about that?
> >
> > To me it looks like an atrocious hack that works only because of the
> > way the implementation is done and not really by design.
>
> >From fs/namespace.c:do_loopback, the function which does bind mounts:
>
> if (check_mnt(nd->mnt) && (!recurse || check_mnt(old_nd.mnt))) {
>
> check_mnt() verifies that a mountpoint is in the same namespace as the
> current process. recurse is set for --rbind mounts, but not --bind mounts.
>
> Notice how old_nd.mnt is explicitly _not_ checked for being in the current
> namespace when doing --bind?

> That says to me that Al thought about this case, and coded for it...
>
> (I'm still not clear why the check_mnt() calls are needed at all, though).
>
Making a wild guess.

What if some filesystem allowed access to vfsmount in other namespace?
Just like the proc filesystem having the ability to do so, but
marginally stops it through the check in proc_check_root().

However the check you mentioned above where-a-bind-mount-across-
namespace is allowed, implies that there is some legal way of getting
access to vfsmounts in other namespace. Or maybe a remote possibility
that its a bug?

RP

> -- Jamie
> -
> 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