  #include <linux/mnt_namespace.h>
  #include <linux/utsname.h>
  #include <linux/pid_namespace.h>
-@@ -217,13 +218,30 @@ void exit_task_namespaces(struct task_struct *p)
+@@ -232,13 +233,30 @@ void exit_task_namespaces(struct task_struct *p)
  {
  	switch_task_namespaces(p, NULL);
  }

 	int err;
 
 	file = proc_ns_fget(fd);
@@ -231,7 +249,47 @@ SYSCALL_DEFINE2(setns, int, fd, int, nstype)
 		return PTR_ERR(file);
 
 	err = -EINVAL;

 	if (!likely(wo->wo_flags & WEXITED))
 		return 0;
 
@@ -1279,6 +1298,8 @@ unlock_sig:
 	 */
 	get_task_struct(p);
 	pid = task_pid_vnr(p);
