diff options
Diffstat (limited to 'kernel/nsproxy.c')
| -rw-r--r-- | kernel/nsproxy.c | 10 | 
1 files changed, 4 insertions, 6 deletions
diff --git a/kernel/nsproxy.c b/kernel/nsproxy.c index ef42d0ab3115..49746c81ad8d 100644 --- a/kernel/nsproxy.c +++ b/kernel/nsproxy.c @@ -220,11 +220,10 @@ void exit_task_namespaces(struct task_struct *p)  SYSCALL_DEFINE2(setns, int, fd, int, nstype)  { -	const struct proc_ns_operations *ops;  	struct task_struct *tsk = current;  	struct nsproxy *new_nsproxy; -	struct proc_ns *ei;  	struct file *file; +	struct ns_common *ns;  	int err;  	file = proc_ns_fget(fd); @@ -232,9 +231,8 @@ SYSCALL_DEFINE2(setns, int, fd, int, nstype)  		return PTR_ERR(file);  	err = -EINVAL; -	ei = get_proc_ns(file_inode(file)); -	ops = ei->ns_ops; -	if (nstype && (ops->type != nstype)) +	ns = get_proc_ns(file_inode(file)); +	if (nstype && (ns->ops->type != nstype))  		goto out;  	new_nsproxy = create_new_namespaces(0, tsk, current_user_ns(), tsk->fs); @@ -243,7 +241,7 @@ SYSCALL_DEFINE2(setns, int, fd, int, nstype)  		goto out;  	} -	err = ops->install(new_nsproxy, ei->ns); +	err = ns->ops->install(new_nsproxy, ns);  	if (err) {  		free_nsproxy(new_nsproxy);  		goto out;  |