do_add_mount() should sanitize mnt_flags
MNT_WRITE_HOLD shouldn't leak into new vfsmount and neither should MNT_SHARED (the latter will be set properly, along with the rest of shared-subtree data structures) Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
@@ -1671,6 +1671,8 @@ int do_add_mount(struct vfsmount *newmnt, struct path *path,
|
|||||||
{
|
{
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
|
mnt_flags &= ~(MNT_SHARED | MNT_WRITE_HOLD);
|
||||||
|
|
||||||
down_write(&namespace_sem);
|
down_write(&namespace_sem);
|
||||||
/* Something was mounted here while we slept */
|
/* Something was mounted here while we slept */
|
||||||
while (d_mountpoint(path->dentry) &&
|
while (d_mountpoint(path->dentry) &&
|
||||||
|
Reference in New Issue
Block a user