Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 346863
b: refs/heads/master
c: 5e4a084
h: refs/heads/master
i:
  346861: c122657
  346859: 762dbe6
  346855: 950425a
  346847: 88cde32
v: v3
  • Loading branch information
Eric W. Biederman committed Dec 15, 2012
1 parent 5b59d7e commit 035e1d4
Show file tree
Hide file tree
Showing 6 changed files with 11 additions and 6 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 520d9eabce18edfef76a60b7b839d54facafe1f9
refs/heads/master: 5e4a08476b50fa39210fca82e03325cc46b9c235
3 changes: 2 additions & 1 deletion trunk/fs/namespace.c
Original file line number Diff line number Diff line change
Expand Up @@ -2781,7 +2781,8 @@ static int mntns_install(struct nsproxy *nsproxy, void *ns)
struct path root;

if (!ns_capable(mnt_ns->user_ns, CAP_SYS_ADMIN) ||
!nsown_capable(CAP_SYS_CHROOT))
!nsown_capable(CAP_SYS_CHROOT) ||
!nsown_capable(CAP_SYS_ADMIN))
return -EPERM;

if (fs->users != 1)
Expand Down
3 changes: 2 additions & 1 deletion trunk/ipc/namespace.c
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,8 @@ static void ipcns_put(void *ns)
static int ipcns_install(struct nsproxy *nsproxy, void *new)
{
struct ipc_namespace *ns = new;
if (!ns_capable(ns->user_ns, CAP_SYS_ADMIN))
if (!ns_capable(ns->user_ns, CAP_SYS_ADMIN) ||
!nsown_capable(CAP_SYS_ADMIN))
return -EPERM;

/* Ditch state from the old ipc namespace */
Expand Down
3 changes: 2 additions & 1 deletion trunk/kernel/pid_namespace.c
Original file line number Diff line number Diff line change
Expand Up @@ -325,7 +325,8 @@ static int pidns_install(struct nsproxy *nsproxy, void *ns)
struct pid_namespace *active = task_active_pid_ns(current);
struct pid_namespace *ancestor, *new = ns;

if (!ns_capable(new->user_ns, CAP_SYS_ADMIN))
if (!ns_capable(new->user_ns, CAP_SYS_ADMIN) ||
!nsown_capable(CAP_SYS_ADMIN))
return -EPERM;

/*
Expand Down
3 changes: 2 additions & 1 deletion trunk/kernel/utsname.c
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,8 @@ static int utsns_install(struct nsproxy *nsproxy, void *new)
{
struct uts_namespace *ns = new;

if (!ns_capable(ns->user_ns, CAP_SYS_ADMIN))
if (!ns_capable(ns->user_ns, CAP_SYS_ADMIN) ||
!nsown_capable(CAP_SYS_ADMIN))
return -EPERM;

get_uts_ns(ns);
Expand Down
3 changes: 2 additions & 1 deletion trunk/net/core/net_namespace.c
Original file line number Diff line number Diff line change
Expand Up @@ -649,7 +649,8 @@ static int netns_install(struct nsproxy *nsproxy, void *ns)
{
struct net *net = ns;

if (!ns_capable(net->user_ns, CAP_SYS_ADMIN))
if (!ns_capable(net->user_ns, CAP_SYS_ADMIN) ||
!nsown_capable(CAP_SYS_ADMIN))
return -EPERM;

put_net(nsproxy->net_ns);
Expand Down

0 comments on commit 035e1d4

Please sign in to comment.