aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/user_namespace.c
diff options
context:
space:
mode:
authorMaxime Ripard <maxime.ripard@free-electrons.com>2013-04-08 21:39:22 +0200
committerMaxime Ripard <maxime.ripard@free-electrons.com>2013-04-08 21:39:22 +0200
commit7c91d302ffe2ffac813c47d6ba2e7489a2ccb35f (patch)
tree78a2cf601e986694765b28079bf749a8eaa6a2b9 /kernel/user_namespace.c
parent0b824f8dad9fdfc7c1bf9c1d3ac744075eb73ec6 (diff)
parent918d7f6f68620e0721bb31402ebf87e15f826831 (diff)
downloadkernel_replicant_linux-7c91d302ffe2ffac813c47d6ba2e7489a2ccb35f.tar.gz
kernel_replicant_linux-7c91d302ffe2ffac813c47d6ba2e7489a2ccb35f.tar.bz2
kernel_replicant_linux-7c91d302ffe2ffac813c47d6ba2e7489a2ccb35f.zip
Merge remote-tracking branch 'clk/clk-for-3.10' into sunxi/core-for-3.10
Diffstat (limited to 'kernel/user_namespace.c')
-rw-r--r--kernel/user_namespace.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/kernel/user_namespace.c b/kernel/user_namespace.c
index 8b650837083e..b14f4d342043 100644
--- a/kernel/user_namespace.c
+++ b/kernel/user_namespace.c
@@ -21,6 +21,7 @@
#include <linux/uaccess.h>
#include <linux/ctype.h>
#include <linux/projid.h>
+#include <linux/fs_struct.h>
static struct kmem_cache *user_ns_cachep __read_mostly;
@@ -837,6 +838,9 @@ static int userns_install(struct nsproxy *nsproxy, void *ns)
if (atomic_read(&current->mm->mm_users) > 1)
return -EINVAL;
+ if (current->fs->users != 1)
+ return -EINVAL;
+
if (!ns_capable(user_ns, CAP_SYS_ADMIN))
return -EPERM;