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

diff --git a/kernel/fork.c b/kernel/fork.c
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -1716,6 +1716,13 @@ long do_fork(unsigned long clone_flags,
 
 		pid = get_task_pid(p, PIDTYPE_PID);
 		nr = pid_vnr(pid);

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
---
 include/uapi/linux/capability.h |  5 ++-
 kernel/exit.c                   | 23 ++++++++++++
 kernel/fork.c                   |  7 ++++
 kernel/nsproxy.c                | 78 +++++++++++++++++++++++++++++++++++++++--
 4 files changed, 109 insertions(+), 4 deletions(-)

diff --git a/include/uapi/linux/capability.h b/include/uapi/linux/capability.h
--- a/include/uapi/linux/capability.h
+++ b/include/uapi/linux/capability.h
@@ -349,8 +349,11 @@ struct vfs_cap_data {
 
 #define CAP_AUDIT_READ		37
 
