X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=fs%2Fnamespace.c;h=8a415c9c5e552efd945cdb85af6f74af4b2b6de6;hb=7c5814c7199851c5fe9395d08fc1ab3c8c1531ea;hp=a72eaabfe8f2a58868e96397b320ba819e159884;hpb=d77bdc423d6d6efcd18d329bbf8eb9351953dd30;p=~andy%2Flinux diff --git a/fs/namespace.c b/fs/namespace.c index a72eaabfe8f..8a415c9c5e5 100644 --- a/fs/namespace.c +++ b/fs/namespace.c @@ -595,7 +595,7 @@ static struct vfsmount *clone_mnt(struct vfsmount *old, struct dentry *root, goto out_free; } - mnt->mnt_flags = old->mnt_flags; + mnt->mnt_flags = old->mnt_flags & ~MNT_WRITE_HOLD; atomic_inc(&sb->s_active); mnt->mnt_sb = sb; mnt->mnt_root = dget(root); @@ -1744,9 +1744,7 @@ static int do_new_mount(struct path *path, char *type, int flags, if (!capable(CAP_SYS_ADMIN)) return -EPERM; - lock_kernel(); mnt = do_kern_mount(type, flags, name, data); - unlock_kernel(); if (IS_ERR(mnt)) return PTR_ERR(mnt);