From: Eric W. Biederman Date: Wed, 8 Oct 2014 00:11:46 +0000 (-0700) Subject: mnt: Carefully set CL_UNPRIVILEGED in clone_mnt X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=381cacb12c009864993a072eedcc0720315aedbd;p=openwrt%2Fstaging%2Fblogic.git mnt: Carefully set CL_UNPRIVILEGED in clone_mnt old->mnt_expiry should be ignored unless CL_EXPIRE is set. Signed-off-by: "Eric W. Biederman" --- diff --git a/fs/namespace.c b/fs/namespace.c index e8d1ffa7f132..f87a90b98da2 100644 --- a/fs/namespace.c +++ b/fs/namespace.c @@ -963,7 +963,8 @@ static struct mount *clone_mnt(struct mount *old, struct dentry *root, } /* Don't allow unprivileged users to reveal what is under a mount */ - if ((flag & CL_UNPRIVILEGED) && list_empty(&old->mnt_expire)) + if ((flag & CL_UNPRIVILEGED) && + (!(flag & CL_EXPIRE) || list_empty(&old->mnt_expire))) mnt->mnt.mnt_flags |= MNT_LOCKED; atomic_inc(&sb->s_active);