Messages in this thread | | | Date | Wed, 8 Oct 2014 14:46:49 +0400 | From | Andrew Vagin <> | Subject | Re: [PATCH] mnt: Move the clear of MNT_LOCKED from copy_tree to it's |
| |
On Tue, Oct 07, 2014 at 04:40:10PM -0700, Eric W. Biederman wrote: > > Clear MNT_LOCKED in the callers of copy_tree except copy_mnt_ns, and > collect_mounts. In copy_mnt_nswe want an exact copy of a mount tree, > so not clearing MNT_LOCKED is important. Similarly collect_mounts > is used to take a snapshot of the mount tree for audit logging purposes > and auditing using a faithful copy of the tree is important. > > This becomes particularly significant when we start setting MNT_LOCKED > on rootfs to prevent it from being unmounted. >
Acked-by: Andrew Vagin <avagin@parallels.com>
> Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com> > --- > fs/namespace.c | 1 - > fs/pnode.c | 1 + > 2 files changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/namespace.c b/fs/namespace.c > index 9c6ee037bef7..5a11e273541c 100644 > --- a/fs/namespace.c > +++ b/fs/namespace.c > @@ -1498,7 +1498,6 @@ struct mount *copy_tree(struct mount *mnt, struct dentry *dentry, > if (IS_ERR(q)) > return q; > > - q->mnt.mnt_flags &= ~MNT_LOCKED; > q->mnt_mountpoint = mnt->mnt_mountpoint; > > p = mnt; > diff --git a/fs/pnode.c b/fs/pnode.c > index aae331a5d03b..260ac8f898a4 100644 > --- a/fs/pnode.c > +++ b/fs/pnode.c > @@ -242,6 +242,7 @@ static int propagate_one(struct mount *m) > child = copy_tree(last_source, last_source->mnt.mnt_root, type); > if (IS_ERR(child)) > return PTR_ERR(child); > + child->mnt.mnt_flags &= ~MNT_LOCKED; > mnt_set_mountpoint(m, mp, child); > last_dest = m; > last_source = child; > -- > 1.9.1 >
| |