diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-18 13:55:28 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-18 13:55:28 -0500 |
commit | a2faf2fc534f57ba26bc4d613795236ed4f5fb1c (patch) | |
tree | d75c4daadb469c8f08c498532fbf1fff68879e69 /net | |
parent | 4351654e3ddf86a04966163dce4def586303e5cc (diff) | |
parent | 5155040ed349950e16c093ba8e65ad534994df2a (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.c | 3 |
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); |