diff options
Diffstat (limited to 'fs/namespace.c')
| -rw-r--r-- | fs/namespace.c | 7 | 
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/namespace.c b/fs/namespace.c index 68789f896f08..df137ba19d37 100644 --- a/fs/namespace.c +++ b/fs/namespace.c @@ -4238,6 +4238,13 @@ static int build_mount_idmapped(const struct mount_attr *attr, size_t usize,  		err = -EPERM;  		goto out_fput;  	} + +	/* We're not controlling the target namespace. */ +	if (!ns_capable(mnt_userns, CAP_SYS_ADMIN)) { +		err = -EPERM; +		goto out_fput; +	} +  	kattr->mnt_userns = get_user_ns(mnt_userns);  out_fput:  | 
