diff options
Diffstat (limited to 'fs/namespace.c')
| -rw-r--r-- | fs/namespace.c | 4 | 
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/namespace.c b/fs/namespace.c index ffb13f0562b0..7660c2749c96 100644 --- a/fs/namespace.c +++ b/fs/namespace.c @@ -1,8 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0-only  /*   *  linux/fs/namespace.c   *   * (C) Copyright Al Viro 2000, 2001 - *	Released under GPL v2.   *   * Based on code from fs/super.c, copyright Linus Torvalds and others.   * Heavily rewritten. @@ -2105,6 +2105,7 @@ static int attach_recursive_mnt(struct mount *source_mnt,  		/* Notice when we are propagating across user namespaces */  		if (child->mnt_parent->mnt_ns->user_ns != user_ns)  			lock_mnt_tree(child); +		child->mnt.mnt_flags &= ~MNT_LOCKED;  		commit_tree(child);  	}  	put_mountpoint(smp); @@ -3445,6 +3446,7 @@ SYSCALL_DEFINE3(fsmount, int, fs_fd, unsigned int, flags,  	ns->root = mnt;  	ns->mounts = 1;  	list_add(&mnt->mnt_list, &ns->list); +	mntget(newmount.mnt);  	/* Attach to an apparent O_PATH fd with a note that we need to unmount  	 * it, not just simply put it.  |