  	why = ptrace ? CLD_TRAPPED : CLD_STOPPED;
  	read_unlock(&tasklist_lock);
  	sched_annotate_sleep();
-@@ -1297,6 +1318,8 @@ static int wait_task_continued(struct wait_opts *wo, struct task_struct *p)
+@@ -1235,6 +1256,8 @@ static int wait_task_continued(struct wait_opts *wo, struct task_struct *p)
  	spin_unlock_irq(&p->sighand->siglock);
  
  	pid = task_pid_vnr(p);

+	}
 
 	if (clone_flags & CLONE_PARENT_SETTID)
 		put_user(nr, parent_tidptr);
diff --git a/kernel/nsproxy.c b/kernel/nsproxy.c
index f6c5d33..2ef42a9 100644
--- a/kernel/nsproxy.c
+++ b/kernel/nsproxy.c
@@ -17,6 +17,7 @@
 #include <linux/export.h>
 #include <linux/nsproxy.h>
 #include <linux/init_task.h>

+	return 0;
+}
 
 SYSCALL_DEFINE2(setns, int, fd, int, flags)
 {
 	struct file *file;
 	struct ns_common *ns = NULL;
+	struct nsproxy *new_nsproxy, *nsp;
 	struct nsset nsset = {};
+	int (*alt_install)(struct nsproxy *nsproxy,
+			   struct ns_common *ns) = NULL;
 	int err = 0;
 
 	file = fget(fd);
 	if (!file)
 		return -EBADF;
 
+	err = -EINVAL;
+	int nstype = flags;
+	if (nstype & CLONE_PARENT) {
+		nstype &= ~CLONE_PARENT;
+		if (!init_task.nsproxy ||
