* [PATCH 0/2] Rename nsproxy.pid_ns and fix a related security bug
@ 2013-08-22 18:39 Andy Lutomirski
2013-08-22 18:39 ` [PATCH 1/2] net: Check the correct namespace when spoofing pid over SCM_RIGHTS Andy Lutomirski
` (3 more replies)
0 siblings, 4 replies; 9+ messages in thread
From: Andy Lutomirski @ 2013-08-22 18:39 UTC (permalink / raw)
To: Eric W. Biederman, security; +Cc: linux-kernel, netdev, Andy Lutomirski
In:
commit 92f28d973cce45ef5823209aab3138eb45d8b349
Author: Eric W. Biederman <ebiederm@xmission.com>
Date: Fri Mar 15 01:03:33 2013 -0700
scm: Require CAP_SYS_ADMIN over the current pidns to spoof pids.
Eric fell for my bogus claim that nsproxy->pid_ns was the current'
process's pid ns. This isn't true.
Let's fix the bug and rename pid_ns so that no one gets this wrong again.
Signed-off-by: Andy Lutomirski <luto@amacapital.net>
Andy Lutomirski (2):
net: Check the correct namespace when spoofing pid over SCM_RIGHTS
Rename nsproxy.pid_ns to nsproxy.pid_ns_for_children
include/linux/nsproxy.h | 6 +++++-
kernel/fork.c | 5 +++--
kernel/nsproxy.c | 27 ++++++++++++++-------------
kernel/pid_namespace.c | 4 ++--
net/core/scm.c | 2 +-
5 files changed, 25 insertions(+), 19 deletions(-)
--
1.8.3.1
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 1/2] net: Check the correct namespace when spoofing pid over SCM_RIGHTS
2013-08-22 18:39 [PATCH 0/2] Rename nsproxy.pid_ns and fix a related security bug Andy Lutomirski
@ 2013-08-22 18:39 ` Andy Lutomirski
2013-08-27 1:02 ` Eric W. Biederman
2013-08-22 18:39 ` [PATCH 2/2] Rename nsproxy.pid_ns to nsproxy.pid_ns_for_children Andy Lutomirski
` (2 subsequent siblings)
3 siblings, 1 reply; 9+ messages in thread
From: Andy Lutomirski @ 2013-08-22 18:39 UTC (permalink / raw)
To: Eric W. Biederman, security; +Cc: linux-kernel, netdev, Andy Lutomirski, stable
This is a security bug.
The follow-up will fix nsproxy to discourage this type of issue from
happening again.
Cc: stable@vger.kernel.org
Signed-off-by: Andy Lutomirski <luto@amacapital.net>
---
net/core/scm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/core/scm.c b/net/core/scm.c
index 03795d0..b4da80b 100644
--- a/net/core/scm.c
+++ b/net/core/scm.c
@@ -54,7 +54,7 @@ static __inline__ int scm_check_creds(struct ucred *creds)
return -EINVAL;
if ((creds->pid == task_tgid_vnr(current) ||
- ns_capable(current->nsproxy->pid_ns->user_ns, CAP_SYS_ADMIN)) &&
+ ns_capable(task_active_pid_ns(current)->user_ns, CAP_SYS_ADMIN)) &&
((uid_eq(uid, cred->uid) || uid_eq(uid, cred->euid) ||
uid_eq(uid, cred->suid)) || nsown_capable(CAP_SETUID)) &&
((gid_eq(gid, cred->gid) || gid_eq(gid, cred->egid) ||
--
1.8.3.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 2/2] Rename nsproxy.pid_ns to nsproxy.pid_ns_for_children
2013-08-22 18:39 [PATCH 0/2] Rename nsproxy.pid_ns and fix a related security bug Andy Lutomirski
2013-08-22 18:39 ` [PATCH 1/2] net: Check the correct namespace when spoofing pid over SCM_RIGHTS Andy Lutomirski
@ 2013-08-22 18:39 ` Andy Lutomirski
2013-08-22 18:56 ` Oleg Nesterov
2013-08-27 1:02 ` Eric W. Biederman
2013-08-26 19:59 ` [PATCH 0/2] Rename nsproxy.pid_ns and fix a related security bug David Miller
2013-08-27 17:53 ` David Miller
3 siblings, 2 replies; 9+ messages in thread
From: Andy Lutomirski @ 2013-08-22 18:39 UTC (permalink / raw)
To: Eric W. Biederman, security; +Cc: linux-kernel, netdev, Andy Lutomirski
nsproxy.pid_ns is *not* the task's pid namespace. The name should clarify
that.
This makes it more obvious that setns on a pid namespace is weird --
it won't change the pid namespace shown in procfs.
Signed-off-by: Andy Lutomirski <luto@amacapital.net>
---
include/linux/nsproxy.h | 6 +++++-
kernel/fork.c | 5 +++--
kernel/nsproxy.c | 27 ++++++++++++++-------------
kernel/pid_namespace.c | 4 ++--
4 files changed, 24 insertions(+), 18 deletions(-)
diff --git a/include/linux/nsproxy.h b/include/linux/nsproxy.h
index 10e5947..b4ec59d 100644
--- a/include/linux/nsproxy.h
+++ b/include/linux/nsproxy.h
@@ -14,6 +14,10 @@ struct fs_struct;
* A structure to contain pointers to all per-process
* namespaces - fs (mount), uts, network, sysvipc, etc.
*
+ * The pid namespace is an exception -- it's accessed using
+ * task_active_pid_ns. The pid namespace here is the
+ * namespace that children will use.
+ *
* 'count' is the number of tasks holding a reference.
* The count for each namespace, then, will be the number
* of nsproxies pointing to it, not the number of tasks.
@@ -27,7 +31,7 @@ struct nsproxy {
struct uts_namespace *uts_ns;
struct ipc_namespace *ipc_ns;
struct mnt_namespace *mnt_ns;
- struct pid_namespace *pid_ns;
+ struct pid_namespace *pid_ns_for_children;
struct net *net_ns;
};
extern struct nsproxy init_nsproxy;
diff --git a/kernel/fork.c b/kernel/fork.c
index e23bb19..bf46287 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -1177,7 +1177,8 @@ static struct task_struct *copy_process(unsigned long clone_flags,
* don't allow the creation of threads.
*/
if ((clone_flags & (CLONE_VM|CLONE_NEWPID)) &&
- (task_active_pid_ns(current) != current->nsproxy->pid_ns))
+ (task_active_pid_ns(current) !=
+ current->nsproxy->pid_ns_for_children))
return ERR_PTR(-EINVAL);
retval = security_task_create(clone_flags);
@@ -1351,7 +1352,7 @@ static struct task_struct *copy_process(unsigned long clone_flags,
if (pid != &init_struct_pid) {
retval = -ENOMEM;
- pid = alloc_pid(p->nsproxy->pid_ns);
+ pid = alloc_pid(p->nsproxy->pid_ns_for_children);
if (!pid)
goto bad_fork_cleanup_io;
}
diff --git a/kernel/nsproxy.c b/kernel/nsproxy.c
index 364ceab..997cbb9 100644
--- a/kernel/nsproxy.c
+++ b/kernel/nsproxy.c
@@ -29,15 +29,15 @@
static struct kmem_cache *nsproxy_cachep;
struct nsproxy init_nsproxy = {
- .count = ATOMIC_INIT(1),
- .uts_ns = &init_uts_ns,
+ .count = ATOMIC_INIT(1),
+ .uts_ns = &init_uts_ns,
#if defined(CONFIG_POSIX_MQUEUE) || defined(CONFIG_SYSVIPC)
- .ipc_ns = &init_ipc_ns,
+ .ipc_ns = &init_ipc_ns,
#endif
- .mnt_ns = NULL,
- .pid_ns = &init_pid_ns,
+ .mnt_ns = NULL,
+ .pid_ns_for_children = &init_pid_ns,
#ifdef CONFIG_NET
- .net_ns = &init_net,
+ .net_ns = &init_net,
#endif
};
@@ -85,9 +85,10 @@ static struct nsproxy *create_new_namespaces(unsigned long flags,
goto out_ipc;
}
- new_nsp->pid_ns = copy_pid_ns(flags, user_ns, tsk->nsproxy->pid_ns);
- if (IS_ERR(new_nsp->pid_ns)) {
- err = PTR_ERR(new_nsp->pid_ns);
+ new_nsp->pid_ns_for_children =
+ copy_pid_ns(flags, user_ns, tsk->nsproxy->pid_ns_for_children);
+ if (IS_ERR(new_nsp->pid_ns_for_children)) {
+ err = PTR_ERR(new_nsp->pid_ns_for_children);
goto out_pid;
}
@@ -100,8 +101,8 @@ static struct nsproxy *create_new_namespaces(unsigned long flags,
return new_nsp;
out_net:
- if (new_nsp->pid_ns)
- put_pid_ns(new_nsp->pid_ns);
+ if (new_nsp->pid_ns_for_children)
+ put_pid_ns(new_nsp->pid_ns_for_children);
out_pid:
if (new_nsp->ipc_ns)
put_ipc_ns(new_nsp->ipc_ns);
@@ -174,8 +175,8 @@ void free_nsproxy(struct nsproxy *ns)
put_uts_ns(ns->uts_ns);
if (ns->ipc_ns)
put_ipc_ns(ns->ipc_ns);
- if (ns->pid_ns)
- put_pid_ns(ns->pid_ns);
+ if (ns->pid_ns_for_children)
+ put_pid_ns(ns->pid_ns_for_children);
put_net(ns->net_ns);
kmem_cache_free(nsproxy_cachep, ns);
}
diff --git a/kernel/pid_namespace.c b/kernel/pid_namespace.c
index 6917e8e..601bb36 100644
--- a/kernel/pid_namespace.c
+++ b/kernel/pid_namespace.c
@@ -349,8 +349,8 @@ static int pidns_install(struct nsproxy *nsproxy, void *ns)
if (ancestor != active)
return -EINVAL;
- put_pid_ns(nsproxy->pid_ns);
- nsproxy->pid_ns = get_pid_ns(new);
+ put_pid_ns(nsproxy->pid_ns_for_children);
+ nsproxy->pid_ns_for_children = get_pid_ns(new);
return 0;
}
--
1.8.3.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 2/2] Rename nsproxy.pid_ns to nsproxy.pid_ns_for_children
2013-08-22 18:39 ` [PATCH 2/2] Rename nsproxy.pid_ns to nsproxy.pid_ns_for_children Andy Lutomirski
@ 2013-08-22 18:56 ` Oleg Nesterov
2013-08-27 1:02 ` Eric W. Biederman
1 sibling, 0 replies; 9+ messages in thread
From: Oleg Nesterov @ 2013-08-22 18:56 UTC (permalink / raw)
To: Andy Lutomirski; +Cc: Eric W. Biederman, security, linux-kernel, netdev
On 08/22, Andy Lutomirski wrote:
>
> nsproxy.pid_ns is *not* the task's pid namespace. The name should clarify
> that.
>
> This makes it more obvious that setns on a pid namespace is weird --
> it won't change the pid namespace shown in procfs.
>
> ...
>
> + * The pid namespace is an exception -- it's accessed using
> + * task_active_pid_ns. The pid namespace here is the
> + * namespace that children will use.
> + *
> * 'count' is the number of tasks holding a reference.
> * The count for each namespace, then, will be the number
> * of nsproxies pointing to it, not the number of tasks.
> @@ -27,7 +31,7 @@ struct nsproxy {
> struct uts_namespace *uts_ns;
> struct ipc_namespace *ipc_ns;
> struct mnt_namespace *mnt_ns;
> - struct pid_namespace *pid_ns;
> + struct pid_namespace *pid_ns_for_children;
> struct net *net_ns;
Personally I agree. ->pid_ns is "strange" and it makes sense to
document and make clear the fact that it became the implicit
argument for clone().
Oleg.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 0/2] Rename nsproxy.pid_ns and fix a related security bug
2013-08-22 18:39 [PATCH 0/2] Rename nsproxy.pid_ns and fix a related security bug Andy Lutomirski
2013-08-22 18:39 ` [PATCH 1/2] net: Check the correct namespace when spoofing pid over SCM_RIGHTS Andy Lutomirski
2013-08-22 18:39 ` [PATCH 2/2] Rename nsproxy.pid_ns to nsproxy.pid_ns_for_children Andy Lutomirski
@ 2013-08-26 19:59 ` David Miller
2013-08-27 1:03 ` Eric W. Biederman
2013-08-27 17:53 ` David Miller
3 siblings, 1 reply; 9+ messages in thread
From: David Miller @ 2013-08-26 19:59 UTC (permalink / raw)
To: luto; +Cc: ebiederm, security, linux-kernel, netdev
From: Andy Lutomirski <luto@amacapital.net>
Date: Thu, 22 Aug 2013 11:39:14 -0700
> commit 92f28d973cce45ef5823209aab3138eb45d8b349
> Author: Eric W. Biederman <ebiederm@xmission.com>
> Date: Fri Mar 15 01:03:33 2013 -0700
>
> scm: Require CAP_SYS_ADMIN over the current pidns to spoof pids.
>
> Eric fell for my bogus claim that nsproxy->pid_ns was the current'
> process's pid ns. This isn't true.
>
> Let's fix the bug and rename pid_ns so that no one gets this wrong again.
>
> Signed-off-by: Andy Lutomirski <luto@amacapital.net>
Eric please take the time to review these changes, thanks.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] net: Check the correct namespace when spoofing pid over SCM_RIGHTS
2013-08-22 18:39 ` [PATCH 1/2] net: Check the correct namespace when spoofing pid over SCM_RIGHTS Andy Lutomirski
@ 2013-08-27 1:02 ` Eric W. Biederman
0 siblings, 0 replies; 9+ messages in thread
From: Eric W. Biederman @ 2013-08-27 1:02 UTC (permalink / raw)
To: Andy Lutomirski; +Cc: security, linux-kernel, netdev, stable
Andy Lutomirski <luto@amacapital.net> writes:
> This is a security bug.
>
> The follow-up will fix nsproxy to discourage this type of issue from
> happening again.
Reviewed-by: "Eric W. Biederman" <ebiederm@xmission.com>
>
> Cc: stable@vger.kernel.org
> Signed-off-by: Andy Lutomirski <luto@amacapital.net>
> ---
> net/core/scm.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/net/core/scm.c b/net/core/scm.c
> index 03795d0..b4da80b 100644
> --- a/net/core/scm.c
> +++ b/net/core/scm.c
> @@ -54,7 +54,7 @@ static __inline__ int scm_check_creds(struct ucred *creds)
> return -EINVAL;
>
> if ((creds->pid == task_tgid_vnr(current) ||
> - ns_capable(current->nsproxy->pid_ns->user_ns, CAP_SYS_ADMIN)) &&
> + ns_capable(task_active_pid_ns(current)->user_ns, CAP_SYS_ADMIN)) &&
> ((uid_eq(uid, cred->uid) || uid_eq(uid, cred->euid) ||
> uid_eq(uid, cred->suid)) || nsown_capable(CAP_SETUID)) &&
> ((gid_eq(gid, cred->gid) || gid_eq(gid, cred->egid) ||
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 2/2] Rename nsproxy.pid_ns to nsproxy.pid_ns_for_children
2013-08-22 18:39 ` [PATCH 2/2] Rename nsproxy.pid_ns to nsproxy.pid_ns_for_children Andy Lutomirski
2013-08-22 18:56 ` Oleg Nesterov
@ 2013-08-27 1:02 ` Eric W. Biederman
1 sibling, 0 replies; 9+ messages in thread
From: Eric W. Biederman @ 2013-08-27 1:02 UTC (permalink / raw)
To: Andy Lutomirski; +Cc: security, linux-kernel, netdev
Andy Lutomirski <luto@amacapital.net> writes:
> nsproxy.pid_ns is *not* the task's pid namespace. The name should clarify
> that.
>
> This makes it more obvious that setns on a pid namespace is weird --
> it won't change the pid namespace shown in procfs.
Reviewed-by: "Eric W. Biederman" <ebiederm@xmission.com>
> Signed-off-by: Andy Lutomirski <luto@amacapital.net>
> ---
> include/linux/nsproxy.h | 6 +++++-
> kernel/fork.c | 5 +++--
> kernel/nsproxy.c | 27 ++++++++++++++-------------
> kernel/pid_namespace.c | 4 ++--
> 4 files changed, 24 insertions(+), 18 deletions(-)
>
> diff --git a/include/linux/nsproxy.h b/include/linux/nsproxy.h
> index 10e5947..b4ec59d 100644
> --- a/include/linux/nsproxy.h
> +++ b/include/linux/nsproxy.h
> @@ -14,6 +14,10 @@ struct fs_struct;
> * A structure to contain pointers to all per-process
> * namespaces - fs (mount), uts, network, sysvipc, etc.
> *
> + * The pid namespace is an exception -- it's accessed using
> + * task_active_pid_ns. The pid namespace here is the
> + * namespace that children will use.
> + *
> * 'count' is the number of tasks holding a reference.
> * The count for each namespace, then, will be the number
> * of nsproxies pointing to it, not the number of tasks.
> @@ -27,7 +31,7 @@ struct nsproxy {
> struct uts_namespace *uts_ns;
> struct ipc_namespace *ipc_ns;
> struct mnt_namespace *mnt_ns;
> - struct pid_namespace *pid_ns;
> + struct pid_namespace *pid_ns_for_children;
> struct net *net_ns;
> };
> extern struct nsproxy init_nsproxy;
> diff --git a/kernel/fork.c b/kernel/fork.c
> index e23bb19..bf46287 100644
> --- a/kernel/fork.c
> +++ b/kernel/fork.c
> @@ -1177,7 +1177,8 @@ static struct task_struct *copy_process(unsigned long clone_flags,
> * don't allow the creation of threads.
> */
> if ((clone_flags & (CLONE_VM|CLONE_NEWPID)) &&
> - (task_active_pid_ns(current) != current->nsproxy->pid_ns))
> + (task_active_pid_ns(current) !=
> + current->nsproxy->pid_ns_for_children))
> return ERR_PTR(-EINVAL);
>
> retval = security_task_create(clone_flags);
> @@ -1351,7 +1352,7 @@ static struct task_struct *copy_process(unsigned long clone_flags,
>
> if (pid != &init_struct_pid) {
> retval = -ENOMEM;
> - pid = alloc_pid(p->nsproxy->pid_ns);
> + pid = alloc_pid(p->nsproxy->pid_ns_for_children);
> if (!pid)
> goto bad_fork_cleanup_io;
> }
> diff --git a/kernel/nsproxy.c b/kernel/nsproxy.c
> index 364ceab..997cbb9 100644
> --- a/kernel/nsproxy.c
> +++ b/kernel/nsproxy.c
> @@ -29,15 +29,15 @@
> static struct kmem_cache *nsproxy_cachep;
>
> struct nsproxy init_nsproxy = {
> - .count = ATOMIC_INIT(1),
> - .uts_ns = &init_uts_ns,
> + .count = ATOMIC_INIT(1),
> + .uts_ns = &init_uts_ns,
> #if defined(CONFIG_POSIX_MQUEUE) || defined(CONFIG_SYSVIPC)
> - .ipc_ns = &init_ipc_ns,
> + .ipc_ns = &init_ipc_ns,
> #endif
> - .mnt_ns = NULL,
> - .pid_ns = &init_pid_ns,
> + .mnt_ns = NULL,
> + .pid_ns_for_children = &init_pid_ns,
> #ifdef CONFIG_NET
> - .net_ns = &init_net,
> + .net_ns = &init_net,
> #endif
> };
>
> @@ -85,9 +85,10 @@ static struct nsproxy *create_new_namespaces(unsigned long flags,
> goto out_ipc;
> }
>
> - new_nsp->pid_ns = copy_pid_ns(flags, user_ns, tsk->nsproxy->pid_ns);
> - if (IS_ERR(new_nsp->pid_ns)) {
> - err = PTR_ERR(new_nsp->pid_ns);
> + new_nsp->pid_ns_for_children =
> + copy_pid_ns(flags, user_ns, tsk->nsproxy->pid_ns_for_children);
> + if (IS_ERR(new_nsp->pid_ns_for_children)) {
> + err = PTR_ERR(new_nsp->pid_ns_for_children);
> goto out_pid;
> }
>
> @@ -100,8 +101,8 @@ static struct nsproxy *create_new_namespaces(unsigned long flags,
> return new_nsp;
>
> out_net:
> - if (new_nsp->pid_ns)
> - put_pid_ns(new_nsp->pid_ns);
> + if (new_nsp->pid_ns_for_children)
> + put_pid_ns(new_nsp->pid_ns_for_children);
> out_pid:
> if (new_nsp->ipc_ns)
> put_ipc_ns(new_nsp->ipc_ns);
> @@ -174,8 +175,8 @@ void free_nsproxy(struct nsproxy *ns)
> put_uts_ns(ns->uts_ns);
> if (ns->ipc_ns)
> put_ipc_ns(ns->ipc_ns);
> - if (ns->pid_ns)
> - put_pid_ns(ns->pid_ns);
> + if (ns->pid_ns_for_children)
> + put_pid_ns(ns->pid_ns_for_children);
> put_net(ns->net_ns);
> kmem_cache_free(nsproxy_cachep, ns);
> }
> diff --git a/kernel/pid_namespace.c b/kernel/pid_namespace.c
> index 6917e8e..601bb36 100644
> --- a/kernel/pid_namespace.c
> +++ b/kernel/pid_namespace.c
> @@ -349,8 +349,8 @@ static int pidns_install(struct nsproxy *nsproxy, void *ns)
> if (ancestor != active)
> return -EINVAL;
>
> - put_pid_ns(nsproxy->pid_ns);
> - nsproxy->pid_ns = get_pid_ns(new);
> + put_pid_ns(nsproxy->pid_ns_for_children);
> + nsproxy->pid_ns_for_children = get_pid_ns(new);
> return 0;
> }
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 0/2] Rename nsproxy.pid_ns and fix a related security bug
2013-08-26 19:59 ` [PATCH 0/2] Rename nsproxy.pid_ns and fix a related security bug David Miller
@ 2013-08-27 1:03 ` Eric W. Biederman
0 siblings, 0 replies; 9+ messages in thread
From: Eric W. Biederman @ 2013-08-27 1:03 UTC (permalink / raw)
To: David Miller; +Cc: luto, security, linux-kernel, netdev
David Miller <davem@davemloft.net> writes:
> From: Andy Lutomirski <luto@amacapital.net>
> Date: Thu, 22 Aug 2013 11:39:14 -0700
>
>> commit 92f28d973cce45ef5823209aab3138eb45d8b349
>> Author: Eric W. Biederman <ebiederm@xmission.com>
>> Date: Fri Mar 15 01:03:33 2013 -0700
>>
>> scm: Require CAP_SYS_ADMIN over the current pidns to spoof pids.
>>
>> Eric fell for my bogus claim that nsproxy->pid_ns was the current'
>> process's pid ns. This isn't true.
>>
>> Let's fix the bug and rename pid_ns so that no one gets this wrong again.
>>
>> Signed-off-by: Andy Lutomirski <luto@amacapital.net>
>
> Eric please take the time to review these changes, thanks.
Reviewed they are good.
My apologies for the delay life got in my way and I fell behind on
dealing with patches.
Eric
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 0/2] Rename nsproxy.pid_ns and fix a related security bug
2013-08-22 18:39 [PATCH 0/2] Rename nsproxy.pid_ns and fix a related security bug Andy Lutomirski
` (2 preceding siblings ...)
2013-08-26 19:59 ` [PATCH 0/2] Rename nsproxy.pid_ns and fix a related security bug David Miller
@ 2013-08-27 17:53 ` David Miller
3 siblings, 0 replies; 9+ messages in thread
From: David Miller @ 2013-08-27 17:53 UTC (permalink / raw)
To: luto; +Cc: ebiederm, security, linux-kernel, netdev
From: Andy Lutomirski <luto@amacapital.net>
Date: Thu, 22 Aug 2013 11:39:14 -0700
> Eric fell for my bogus claim that nsproxy->pid_ns was the current'
> process's pid ns. This isn't true.
>
> Let's fix the bug and rename pid_ns so that no one gets this wrong again.
>
> Signed-off-by: Andy Lutomirski <luto@amacapital.net>
Series applied, thanks.
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2013-08-27 17:53 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-22 18:39 [PATCH 0/2] Rename nsproxy.pid_ns and fix a related security bug Andy Lutomirski
2013-08-22 18:39 ` [PATCH 1/2] net: Check the correct namespace when spoofing pid over SCM_RIGHTS Andy Lutomirski
2013-08-27 1:02 ` Eric W. Biederman
2013-08-22 18:39 ` [PATCH 2/2] Rename nsproxy.pid_ns to nsproxy.pid_ns_for_children Andy Lutomirski
2013-08-22 18:56 ` Oleg Nesterov
2013-08-27 1:02 ` Eric W. Biederman
2013-08-26 19:59 ` [PATCH 0/2] Rename nsproxy.pid_ns and fix a related security bug David Miller
2013-08-27 1:03 ` Eric W. Biederman
2013-08-27 17:53 ` David Miller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).