aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-12-18 13:55:28 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2012-12-18 13:55:28 -0500
commita2faf2fc534f57ba26bc4d613795236ed4f5fb1c (patch)
treed75c4daadb469c8f08c498532fbf1fff68879e69 /net
parent4351654e3ddf86a04966163dce4def586303e5cc (diff)
parent5155040ed349950e16c093ba8e65ad534994df2a (diff)
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
Pull (again) user namespace infrastructure changes from Eric Biederman: "Those bugs, those darn embarrasing bugs just want don't want to get fixed. Linus I just updated my mirror of your kernel.org tree and it appears you successfully pulled everything except the last 4 commits that fix those embarrasing bugs. When you get a chance can you please repull my branch" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: userns: Fix typo in description of the limitation of userns_install userns: Add a more complete capability subset test to commit_creds userns: Require CAP_SYS_ADMIN for most uses of setns. Fix cap_capable to only allow owners in the parent user namespace to have caps.
Diffstat (limited to 'net')
-rw-r--r--net/core/net_namespace.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/core/net_namespace.c b/net/core/net_namespace.c
index 2e9a3132b8d..8acce01b6da 100644
--- a/net/core/net_namespace.c
+++ b/net/core/net_namespace.c
@@ -649,7 +649,8 @@ static int netns_install(struct nsproxy *nsproxy, void *ns)
649{ 649{
650 struct net *net = ns; 650 struct net *net = ns;
651 651
652 if (!ns_capable(net->user_ns, CAP_SYS_ADMIN)) 652 if (!ns_capable(net->user_ns, CAP_SYS_ADMIN) ||
653 !nsown_capable(CAP_SYS_ADMIN))
653 return -EPERM; 654 return -EPERM;
654 655
655 put_net(nsproxy->net_ns); 656 put_net(nsproxy->net_ns);