* pid: improved namespaced iteration over processes list (v2)
@ 2008-12-18 16:42 Gowrishankar M
[not found] ` <1229618553-6348-1-git-send-email-gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
0 siblings, 1 reply; 23+ messages in thread
From: Gowrishankar M @ 2008-12-18 16:42 UTC (permalink / raw)
To: Containers; +Cc: Dave, Sukadev, Eric, Balbir
Earlier version of this patch, attempted to change general macros
for_each_process and do_each_thread which is not safe as suggested
by most of reviewers.
Hence, I go with adding renamed versions of them, so that we can use
them only whereever needed.
I will include code optimisation that Dave suggested if this patch
gets approved mostly.
Thanks.
Gowrishankar
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 1/5] pid: add new iterative macros to list processes in a namespace
[not found] ` <1229618553-6348-1-git-send-email-gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
@ 2008-12-18 16:42 ` Gowrishankar M
[not found] ` <1229618553-6348-2-git-send-email-gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2008-12-18 16:42 ` [PATCH 2/5] pid: use namespaced iteration on processes while using sysrq Gowrishankar M
` (3 subsequent siblings)
4 siblings, 1 reply; 23+ messages in thread
From: Gowrishankar M @ 2008-12-18 16:42 UTC (permalink / raw)
To: Containers; +Cc: Dave, Eric, Sukadev, Balbir
From: Gowrishankar M <gomuthuk-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
Below patch addresses a common solution for any place where a process
should be checked if it is associated to caller namespace. At present,
we use 'task_pid_vnr(t) > 0' to further proceed with task 't' in current
namespace.
To avoid applying this check in every userspace code related to PID namespace,
this patch provides two new iterative macros;for_each_process_in_ns and
do_each_thread_in_ns.
Signed-off-by: Gowrishankar M <gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
---
include/linux/pid.h | 1 +
include/linux/sched.h | 12 ++++++++++++
kernel/pid.c | 17 +++++++++++++++++
3 files changed, 30 insertions(+), 0 deletions(-)
diff --git a/include/linux/pid.h b/include/linux/pid.h
index d7e98ff..1c6b24f 100644
--- a/include/linux/pid.h
+++ b/include/linux/pid.h
@@ -117,6 +117,7 @@ extern struct pid *find_vpid(int nr);
*/
extern struct pid *find_get_pid(int nr);
extern struct pid *find_ge_pid(int nr, struct pid_namespace *);
+extern struct pid *find_ge_tgid(int nr, struct pid_namespace *);
int next_pidmap(struct pid_namespace *pid_ns, int last);
extern struct pid *alloc_pid(struct pid_namespace *ns);
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 2e46189..bdd9f0d 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1919,16 +1919,28 @@ static inline unsigned long wait_task_inactive(struct task_struct *p,
#define next_task(p) list_entry(rcu_dereference((p)->tasks.next), struct task_struct, tasks)
+#define next_task_in_ns(p, ns) \
+ pid_task(find_ge_tgid(task_pid_nr_ns(p, ns) + 1, ns), PIDTYPE_PID)
+
#define for_each_process(p) \
for (p = &init_task ; (p = next_task(p)) != &init_task ; )
+#define for_each_process_in_ns(p, ns) \
+ for (p = find_task_by_pid_ns(1, ns) ; p != NULL ; \
+ p = next_task_in_ns(p, ns))
+
/*
* Careful: do_each_thread/while_each_thread is a double loop so
* 'break' will not work as expected - use goto instead.
+ * same applies to do_each_thread_in_ns.
*/
#define do_each_thread(g, t) \
for (g = t = &init_task ; (g = t = next_task(g)) != &init_task ; ) do
+#define do_each_thread_in_ns(g, t, ns) \
+ for (g = t = find_task_by_pid_ns(1, ns) ; g != NULL ; \
+ (g = t = next_task_in_ns(g, ns))) do
+
#define while_each_thread(g, t) \
while ((t = next_thread(t)) != g)
diff --git a/kernel/pid.c b/kernel/pid.c
index 064e76a..15f707a 100644
--- a/kernel/pid.c
+++ b/kernel/pid.c
@@ -493,6 +493,23 @@ struct pid *find_ge_pid(int nr, struct pid_namespace *ns)
return pid;
}
+struct pid *find_ge_tgid(int nr, struct pid_namespace *ns)
+{
+ struct pid *pid;
+ struct task_struct *task;
+
+retry:
+ pid = find_ge_pid(nr, ns);
+ if (pid) {
+ task = pid_task(pid, PIDTYPE_PID);
+ if (!task || !has_group_leader_pid(task)) {
+ nr += 1;
+ goto retry;
+ }
+ }
+ return pid;
+}
+
/*
* The pid hash table is scaled according to the amount of memory in the
* machine. From a minimum of 16 slots up to 4096 slots at one gigabyte or
--
1.5.5.1
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH 2/5] pid: use namespaced iteration on processes while using sysrq
[not found] ` <1229618553-6348-1-git-send-email-gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2008-12-18 16:42 ` [PATCH 1/5] pid: add new iterative macros to list processes in a namespace Gowrishankar M
@ 2008-12-18 16:42 ` Gowrishankar M
[not found] ` <1229618553-6348-3-git-send-email-gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2008-12-18 16:42 ` [PATCH 3/5] pid: use namespaced iteration on processes while setting capability Gowrishankar M
` (2 subsequent siblings)
4 siblings, 1 reply; 23+ messages in thread
From: Gowrishankar M @ 2008-12-18 16:42 UTC (permalink / raw)
To: Containers; +Cc: Dave, Eric, Sukadev, Balbir
From: Gowrishankar M <gomuthuk-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
At present, while signalling processes using sysrq, process iteration
goes beyond current PID namespace.
Below patch uses one of the proposed namespace iteration macros to fix
the boundary.
Signed-off-by: Gowrishankar M <gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
---
drivers/char/sysrq.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/char/sysrq.c b/drivers/char/sysrq.c
index ce0d9da..adca5da 100644
--- a/drivers/char/sysrq.c
+++ b/drivers/char/sysrq.c
@@ -13,6 +13,7 @@
*/
#include <linux/sched.h>
+#include <linux/pid_namespace.h>
#include <linux/interrupt.h>
#include <linux/mm.h>
#include <linux/fs.h>
@@ -293,8 +294,8 @@ static void send_sig_all(int sig)
{
struct task_struct *p;
- for_each_process(p) {
- if (p->mm && !is_global_init(p))
+ for_each_process_in_ns(p, current->nsproxy->pid_ns) {
+ if (p->mm && !is_container_init(p))
/* Not swapper, init nor kernel thread */
force_sig(sig, p);
}
--
1.5.5.1
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH 3/5] pid: use namespaced iteration on processes while setting capability
[not found] ` <1229618553-6348-1-git-send-email-gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2008-12-18 16:42 ` [PATCH 1/5] pid: add new iterative macros to list processes in a namespace Gowrishankar M
2008-12-18 16:42 ` [PATCH 2/5] pid: use namespaced iteration on processes while using sysrq Gowrishankar M
@ 2008-12-18 16:42 ` Gowrishankar M
[not found] ` <1229618553-6348-4-git-send-email-gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2008-12-18 16:42 ` [PATCH 4/5] pid: use namespaced iteration on processes while sending signal to all Gowrishankar M
2008-12-18 16:42 ` [PATCH 5/5] pid: use namespaced iteration on processes while managing priority Gowrishankar M
4 siblings, 1 reply; 23+ messages in thread
From: Gowrishankar M @ 2008-12-18 16:42 UTC (permalink / raw)
To: Containers; +Cc: Dave, Eric, Sukadev, Balbir
From: Gowrishankar M <gomuthuk-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
In piece of dead code, cap_set_all() propogates through processes outside
PID namespace, as iteration is always in init PID namespace.
Below patch adjusts macro controller to use do_each_thread_in_ns() so that
only processes in current namespace are scanned
Signed-off-by: Gowrishankar M <gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
---
kernel/capability.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/kernel/capability.c b/kernel/capability.c
index 33e51e7..e3e3765 100644
--- a/kernel/capability.c
+++ b/kernel/capability.c
@@ -201,7 +201,7 @@ static inline int cap_set_all(kernel_cap_t *effective,
spin_lock(&task_capability_lock);
read_lock(&tasklist_lock);
- do_each_thread(g, target) {
+ do_each_thread_in_ns(g, target, current->nsproxy->pid_ns) {
if (target == current
|| is_container_init(target->group_leader))
continue;
--
1.5.5.1
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH 4/5] pid: use namespaced iteration on processes while sending signal to all
[not found] ` <1229618553-6348-1-git-send-email-gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
` (2 preceding siblings ...)
2008-12-18 16:42 ` [PATCH 3/5] pid: use namespaced iteration on processes while setting capability Gowrishankar M
@ 2008-12-18 16:42 ` Gowrishankar M
[not found] ` <1229618553-6348-5-git-send-email-gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2008-12-18 16:42 ` [PATCH 5/5] pid: use namespaced iteration on processes while managing priority Gowrishankar M
4 siblings, 1 reply; 23+ messages in thread
From: Gowrishankar M @ 2008-12-18 16:42 UTC (permalink / raw)
To: Containers; +Cc: Dave, Eric, Sukadev, Balbir
From: Gowrishankar M <gomuthuk-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
At present we scan all processes in init namespace, whether in new namespace
or not, to send signal to all processes for container. Also we filter out
processes belonging to same namespace using task_pid_vnr().
Below patch proposes to use new macro controller to save time using pidmap.
In init namespace, this saving can be more or less achieved, as we check to
take every process with task_pid_vnr() otherwise.
Signed-off-by: Gowrishankar M <gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
---
kernel/signal.c | 5 ++---
1 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/kernel/signal.c b/kernel/signal.c
index 4530fc6..a2651bc 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -1143,9 +1143,8 @@ static int kill_something_info(int sig, struct siginfo *info, pid_t pid)
int retval = 0, count = 0;
struct task_struct * p;
- for_each_process(p) {
- if (task_pid_vnr(p) > 1 &&
- !same_thread_group(p, current)) {
+ for_each_process_in_ns(p, current->nsproxy->pid_ns) {
+ if (!same_thread_group(p, current)) {
int err = group_send_sig_info(sig, info, p);
++count;
if (err != -EPERM)
--
1.5.5.1
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH 5/5] pid: use namespaced iteration on processes while managing priority
[not found] ` <1229618553-6348-1-git-send-email-gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
` (3 preceding siblings ...)
2008-12-18 16:42 ` [PATCH 4/5] pid: use namespaced iteration on processes while sending signal to all Gowrishankar M
@ 2008-12-18 16:42 ` Gowrishankar M
[not found] ` <1229618553-6348-6-git-send-email-gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
4 siblings, 1 reply; 23+ messages in thread
From: Gowrishankar M @ 2008-12-18 16:42 UTC (permalink / raw)
To: Containers; +Cc: Dave, Eric, Sukadev, Balbir
From: Gowrishankar M <gomuthuk-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
At present we scan all processes in init namespace, while getting or setting
process priorities for a user. Incase of PID namespace, it leads to leak
priority to processes in other namespace.
Below patch proposes to use new macro controller to fix the boundary of
processes list in current namespace.
Signed-off-by: Gowrishankar M <gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
---
kernel/sys.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/kernel/sys.c b/kernel/sys.c
index 31deba8..50973de 100644
--- a/kernel/sys.c
+++ b/kernel/sys.c
@@ -181,7 +181,7 @@ asmlinkage long sys_setpriority(int which, int who, int niceval)
if ((who != current->uid) && !(user = find_user(who)))
goto out_unlock; /* No processes for this user */
- do_each_thread(g, p)
+ do_each_thread_in_ns(g, p, current->nsproxy->pid_ns)
if (p->uid == who)
error = set_one_prio(p, niceval, error);
while_each_thread(g, p);
@@ -243,7 +243,7 @@ asmlinkage long sys_getpriority(int which, int who)
if ((who != current->uid) && !(user = find_user(who)))
goto out_unlock; /* No processes for this user */
- do_each_thread(g, p)
+ do_each_thread_in_ns(g, p, current->nsproxy->pid_ns)
if (p->uid == who) {
niceval = 20 - task_nice(p);
if (niceval > retval)
--
1.5.5.1
^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: [PATCH 2/5] pid: use namespaced iteration on processes while using sysrq
[not found] ` <1229618553-6348-3-git-send-email-gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
@ 2008-12-18 16:58 ` Dave Hansen
2008-12-18 17:12 ` Serge E. Hallyn
2008-12-18 17:31 ` Eric W. Biederman
2 siblings, 0 replies; 23+ messages in thread
From: Dave Hansen @ 2008-12-18 16:58 UTC (permalink / raw)
To: Gowrishankar M; +Cc: Containers, Eric, Sukadev, Balbir
On Thu, 2008-12-18 at 22:12 +0530, Gowrishankar M wrote:
> From: Gowrishankar M <gomuthuk-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
>
> At present, while signalling processes using sysrq, process iteration
> goes beyond current PID namespace.
>
> Below patch uses one of the proposed namespace iteration macros to fix
> the boundary.
I think this is a really bad idea. Maybe not for 'echo t
> /proc/sysrq-trigger', but definitely for the console triggers.
The sysrq code can get called via the serial console code. That may
even get processed during softirqs so the current process may not have
anything to do with what the user is typing into. That's just one
example. I bet there are a bunch more.
What problem does this patch solve anyway?
-- Dave
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 3/5] pid: use namespaced iteration on processes while setting capability
[not found] ` <1229618553-6348-4-git-send-email-gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
@ 2008-12-18 17:04 ` Serge E. Hallyn
2008-12-18 17:35 ` Eric W. Biederman
1 sibling, 0 replies; 23+ messages in thread
From: Serge E. Hallyn @ 2008-12-18 17:04 UTC (permalink / raw)
To: Gowrishankar M; +Cc: Containers, Dave, Eric, Sukadev, Balbir
Quoting Gowrishankar M (gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org):
> From: Gowrishankar M <gomuthuk-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
>
> In piece of dead code, cap_set_all() propogates through processes outside
> PID namespace, as iteration is always in init PID namespace.
>
> Below patch adjusts macro controller to use do_each_thread_in_ns() so that
> only processes in current namespace are scanned
>
> Signed-off-by: Gowrishankar M <gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
Acked-by: Serge Hallyn <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
> ---
> kernel/capability.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/kernel/capability.c b/kernel/capability.c
> index 33e51e7..e3e3765 100644
> --- a/kernel/capability.c
> +++ b/kernel/capability.c
> @@ -201,7 +201,7 @@ static inline int cap_set_all(kernel_cap_t *effective,
> spin_lock(&task_capability_lock);
> read_lock(&tasklist_lock);
>
> - do_each_thread(g, target) {
> + do_each_thread_in_ns(g, target, current->nsproxy->pid_ns) {
> if (target == current
> || is_container_init(target->group_leader))
> continue;
> --
> 1.5.5.1
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 4/5] pid: use namespaced iteration on processes while sending signal to all
[not found] ` <1229618553-6348-5-git-send-email-gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
@ 2008-12-18 17:04 ` Serge E. Hallyn
2008-12-18 17:10 ` Dave Hansen
1 sibling, 0 replies; 23+ messages in thread
From: Serge E. Hallyn @ 2008-12-18 17:04 UTC (permalink / raw)
To: Gowrishankar M; +Cc: Containers, Dave, Eric, Sukadev, Balbir
Quoting Gowrishankar M (gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org):
> From: Gowrishankar M <gomuthuk-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
>
> At present we scan all processes in init namespace, whether in new namespace
> or not, to send signal to all processes for container. Also we filter out
> processes belonging to same namespace using task_pid_vnr().
>
> Below patch proposes to use new macro controller to save time using pidmap.
> In init namespace, this saving can be more or less achieved, as we check to
> take every process with task_pid_vnr() otherwise.
>
> Signed-off-by: Gowrishankar M <gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
Acked-by: Serge Hallyn <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
> ---
> kernel/signal.c | 5 ++---
> 1 files changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/kernel/signal.c b/kernel/signal.c
> index 4530fc6..a2651bc 100644
> --- a/kernel/signal.c
> +++ b/kernel/signal.c
> @@ -1143,9 +1143,8 @@ static int kill_something_info(int sig, struct siginfo *info, pid_t pid)
> int retval = 0, count = 0;
> struct task_struct * p;
>
> - for_each_process(p) {
> - if (task_pid_vnr(p) > 1 &&
> - !same_thread_group(p, current)) {
> + for_each_process_in_ns(p, current->nsproxy->pid_ns) {
> + if (!same_thread_group(p, current)) {
> int err = group_send_sig_info(sig, info, p);
> ++count;
> if (err != -EPERM)
> --
> 1.5.5.1
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 5/5] pid: use namespaced iteration on processes while managing priority
[not found] ` <1229618553-6348-6-git-send-email-gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
@ 2008-12-18 17:05 ` Serge E. Hallyn
[not found] ` <20081218170509.GC13188-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2008-12-18 17:38 ` Eric W. Biederman
1 sibling, 1 reply; 23+ messages in thread
From: Serge E. Hallyn @ 2008-12-18 17:05 UTC (permalink / raw)
To: Gowrishankar M; +Cc: Containers, Dave, Eric, Sukadev, Balbir
Quoting Gowrishankar M (gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org):
> From: Gowrishankar M <gomuthuk-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
>
> At present we scan all processes in init namespace, while getting or setting
> process priorities for a user. Incase of PID namespace, it leads to leak
> priority to processes in other namespace.
>
> Below patch proposes to use new macro controller to fix the boundary of
> processes list in current namespace.
>
> Signed-off-by: Gowrishankar M <gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
Acked-by: Serge Hallyn <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
> ---
> kernel/sys.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/kernel/sys.c b/kernel/sys.c
> index 31deba8..50973de 100644
> --- a/kernel/sys.c
> +++ b/kernel/sys.c
> @@ -181,7 +181,7 @@ asmlinkage long sys_setpriority(int which, int who, int niceval)
> if ((who != current->uid) && !(user = find_user(who)))
> goto out_unlock; /* No processes for this user */
>
> - do_each_thread(g, p)
> + do_each_thread_in_ns(g, p, current->nsproxy->pid_ns)
> if (p->uid == who)
> error = set_one_prio(p, niceval, error);
> while_each_thread(g, p);
> @@ -243,7 +243,7 @@ asmlinkage long sys_getpriority(int which, int who)
> if ((who != current->uid) && !(user = find_user(who)))
> goto out_unlock; /* No processes for this user */
>
> - do_each_thread(g, p)
> + do_each_thread_in_ns(g, p, current->nsproxy->pid_ns)
> if (p->uid == who) {
> niceval = 20 - task_nice(p);
> if (niceval > retval)
> --
> 1.5.5.1
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 4/5] pid: use namespaced iteration on processes while sending signal to all
[not found] ` <1229618553-6348-5-git-send-email-gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2008-12-18 17:04 ` Serge E. Hallyn
@ 2008-12-18 17:10 ` Dave Hansen
2008-12-18 17:32 ` Serge E. Hallyn
1 sibling, 1 reply; 23+ messages in thread
From: Dave Hansen @ 2008-12-18 17:10 UTC (permalink / raw)
To: Gowrishankar M; +Cc: Containers, Sukadev, Eric, Balbir
On Thu, 2008-12-18 at 22:12 +0530, Gowrishankar M wrote:
> At present we scan all processes in init namespace, whether in new namespace
> or not, to send signal to all processes for container. Also we filter out
> processes belonging to same namespace using task_pid_vnr().
>
> Below patch proposes to use new macro controller to save time using pidmap.
> In init namespace, this saving can be more or less achieved, as we check to
> take every process with task_pid_vnr() otherwise.
> diff --git a/kernel/signal.c b/kernel/signal.c
> index 4530fc6..a2651bc 100644
> --- a/kernel/signal.c
> +++ b/kernel/signal.c
> @@ -1143,9 +1143,8 @@ static int kill_something_info(int sig, struct siginfo *info, pid_t pid)
> int retval = 0, count = 0;
> struct task_struct * p;
>
> - for_each_process(p) {
> - if (task_pid_vnr(p) > 1 &&
> - !same_thread_group(p, current)) {
> + for_each_process_in_ns(p, current->nsproxy->pid_ns) {
> + if (!same_thread_group(p, current)) {
> int err = group_send_sig_info(sig, info, p);
> ++count;
> if (err != -EPERM)
So this is a performance optimization?
Isn't that task_pid_vnr() basically an is_container_init() check? Why
did it go away?
This patch implies that ever process in another's thread group is also
in the same pid namespace. That seems like a sane assumption, but I'd
probably hesitate without Oleg or Eric taking a good look.
-- Dave
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 2/5] pid: use namespaced iteration on processes while using sysrq
[not found] ` <1229618553-6348-3-git-send-email-gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2008-12-18 16:58 ` Dave Hansen
@ 2008-12-18 17:12 ` Serge E. Hallyn
2008-12-18 17:31 ` Eric W. Biederman
2 siblings, 0 replies; 23+ messages in thread
From: Serge E. Hallyn @ 2008-12-18 17:12 UTC (permalink / raw)
To: Gowrishankar M; +Cc: Containers, Dave, Eric, Sukadev, Balbir
Quoting Gowrishankar M (gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org):
> From: Gowrishankar M <gomuthuk-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
>
> At present, while signalling processes using sysrq, process iteration
> goes beyond current PID namespace.
>
> Below patch uses one of the proposed namespace iteration macros to fix
> the boundary.
>
> Signed-off-by: Gowrishankar M <gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
Nack, like Dave said.
For hitting alt-sysrq-t on console, you want to hit the whole
system, not just one ns.
For echo t > /sys/sysrq-trigger, you do though. Fortunately, you
can tell the difference using check_mask in __hande_sysrq(). So
do that, and either always pass that on to op->handler and check it in
send_sig_all(), or just filter on key there and call a custom handler.
-serge
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 2/5] pid: use namespaced iteration on processes while using sysrq
[not found] ` <1229618553-6348-3-git-send-email-gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2008-12-18 16:58 ` Dave Hansen
2008-12-18 17:12 ` Serge E. Hallyn
@ 2008-12-18 17:31 ` Eric W. Biederman
2 siblings, 0 replies; 23+ messages in thread
From: Eric W. Biederman @ 2008-12-18 17:31 UTC (permalink / raw)
To: Gowrishankar M; +Cc: Containers, Dave, Sukadev, Balbir
Gowrishankar M <gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org> writes:
> From: Gowrishankar M <gomuthuk-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
>
> At present, while signalling processes using sysrq, process iteration
> goes beyond current PID namespace.
>
> Below patch uses one of the proposed namespace iteration macros to fix
> the boundary.
>
> Signed-off-by: Gowrishankar M <gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
Nacked-by: "Eric W. Biederman" <ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
sysrq is a debugging helper and send_sig_all should apply to
ever process in the system. It should only apply to the initial
pid namespace.
Attempting to make it namespace aware is wrong.
Eric
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 4/5] pid: use namespaced iteration on processes while sending signal to all
2008-12-18 17:10 ` Dave Hansen
@ 2008-12-18 17:32 ` Serge E. Hallyn
0 siblings, 0 replies; 23+ messages in thread
From: Serge E. Hallyn @ 2008-12-18 17:32 UTC (permalink / raw)
To: Dave Hansen; +Cc: Containers, Sukadev, Eric, Gowrishankar M, Balbir
Quoting Dave Hansen (dave-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org):
> On Thu, 2008-12-18 at 22:12 +0530, Gowrishankar M wrote:
> > At present we scan all processes in init namespace, whether in new namespace
> > or not, to send signal to all processes for container. Also we filter out
> > processes belonging to same namespace using task_pid_vnr().
> >
> > Below patch proposes to use new macro controller to save time using pidmap.
> > In init namespace, this saving can be more or less achieved, as we check to
> > take every process with task_pid_vnr() otherwise.
>
> > diff --git a/kernel/signal.c b/kernel/signal.c
> > index 4530fc6..a2651bc 100644
> > --- a/kernel/signal.c
> > +++ b/kernel/signal.c
> > @@ -1143,9 +1143,8 @@ static int kill_something_info(int sig, struct siginfo *info, pid_t pid)
> > int retval = 0, count = 0;
> > struct task_struct * p;
> >
> > - for_each_process(p) {
> > - if (task_pid_vnr(p) > 1 &&
> > - !same_thread_group(p, current)) {
> > + for_each_process_in_ns(p, current->nsproxy->pid_ns) {
> > + if (!same_thread_group(p, current)) {
> > int err = group_send_sig_info(sig, info, p);
> > ++count;
> > if (err != -EPERM)
>
> So this is a performance optimization?
>
> Isn't that task_pid_vnr() basically an is_container_init() check? Why
> did it go away?
Oh, good catch - the container init should still be skipped, no?
> This patch implies that ever process in another's thread group is also
> in the same pid namespace. That seems like a sane assumption, but I'd
> probably hesitate without Oleg or Eric taking a good look.
copy_pid_ns() enforced that CLONE_THREAD and CLONE_NEWPID cannot
be specified together.
-serge
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 3/5] pid: use namespaced iteration on processes while setting capability
[not found] ` <1229618553-6348-4-git-send-email-gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2008-12-18 17:04 ` Serge E. Hallyn
@ 2008-12-18 17:35 ` Eric W. Biederman
1 sibling, 0 replies; 23+ messages in thread
From: Eric W. Biederman @ 2008-12-18 17:35 UTC (permalink / raw)
To: Gowrishankar M; +Cc: Containers, Dave, Sukadev, Balbir
Gowrishankar M <gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org> writes:
> From: Gowrishankar M <gomuthuk-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
>
> In piece of dead code, cap_set_all() propogates through processes outside
> PID namespace, as iteration is always in init PID namespace.
>
> Below patch adjusts macro controller to use do_each_thread_in_ns() so that
> only processes in current namespace are scanned
Yes. This case in capability.c needs to be fixed.
Acked-by: "Eric W. Biederman" <ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
> Signed-off-by: Gowrishankar M <gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
> ---
> kernel/capability.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/kernel/capability.c b/kernel/capability.c
> index 33e51e7..e3e3765 100644
> --- a/kernel/capability.c
> +++ b/kernel/capability.c
> @@ -201,7 +201,7 @@ static inline int cap_set_all(kernel_cap_t *effective,
> spin_lock(&task_capability_lock);
> read_lock(&tasklist_lock);
>
> - do_each_thread(g, target) {
> + do_each_thread_in_ns(g, target, current->nsproxy->pid_ns) {
> if (target == current
> || is_container_init(target->group_leader))
> continue;
> --
> 1.5.5.1
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 5/5] pid: use namespaced iteration on processes while managing priority
[not found] ` <1229618553-6348-6-git-send-email-gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2008-12-18 17:05 ` Serge E. Hallyn
@ 2008-12-18 17:38 ` Eric W. Biederman
[not found] ` <m1d4fp8ju3.fsf-B27657KtZYmhTnVgQlOflh2eb7JE58TQ@public.gmane.org>
1 sibling, 1 reply; 23+ messages in thread
From: Eric W. Biederman @ 2008-12-18 17:38 UTC (permalink / raw)
To: Gowrishankar M; +Cc: Containers, Dave, Sukadev, Balbir
Gowrishankar M <gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org> writes:
> From: Gowrishankar M <gomuthuk-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
>
> At present we scan all processes in init namespace, while getting or setting
> process priorities for a user. Incase of PID namespace, it leads to leak
> priority to processes in other namespace.
>
> Below patch proposes to use new macro controller to fix the boundary of
> processes list in current namespace.
Nacked-by: "Eric W. Biederman" <ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
This has nothing to do with pids. The command is to set the
iopriority for a given user. This is a problem of the user namespace
not the pid namespace.
Eric
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 1/5] pid: add new iterative macros to list processes in a namespace
[not found] ` <1229618553-6348-2-git-send-email-gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
@ 2008-12-18 17:45 ` Eric W. Biederman
0 siblings, 0 replies; 23+ messages in thread
From: Eric W. Biederman @ 2008-12-18 17:45 UTC (permalink / raw)
To: Gowrishankar M; +Cc: Containers, Dave, Sukadev, Balbir
Gowrishankar M <gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org> writes:
> From: Gowrishankar M <gomuthuk-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
>
> Below patch addresses a common solution for any place where a process
> should be checked if it is associated to caller namespace. At present,
> we use 'task_pid_vnr(t) > 0' to further proceed with task 't' in current
> namespace.
>
> To avoid applying this check in every userspace code related to PID namespace,
> this patch provides two new iterative macros;for_each_process_in_ns and
> do_each_thread_in_ns.
There may be a point to this, as a cleanup.
I am not convinced at the moment that has_group_leader_pid() does
the right thing in this context.
Can you please send the fix for cap_set_all (adding task_pid_vnr(X) > 1)
and then we can revisit possible cleanups.
Thanks,
Eric
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 5/5] pid: use namespaced iteration on processes while managing priority
[not found] ` <20081218170509.GC13188-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
@ 2008-12-18 17:46 ` Eric W. Biederman
0 siblings, 0 replies; 23+ messages in thread
From: Eric W. Biederman @ 2008-12-18 17:46 UTC (permalink / raw)
To: Serge E. Hallyn; +Cc: Gowrishankar M, Containers, Dave, Sukadev, Balbir
"Serge E. Hallyn" <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org> writes:
> Quoting Gowrishankar M (gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org):
>> From: Gowrishankar M <gomuthuk-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
>>
>> At present we scan all processes in init namespace, while getting or setting
>> process priorities for a user. Incase of PID namespace, it leads to leak
>> priority to processes in other namespace.
>>
>> Below patch proposes to use new macro controller to fix the boundary of
>> processes list in current namespace.
>>
>> Signed-off-by: Gowrishankar M <gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
>
> Acked-by: Serge Hallyn <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
Serge please look again. This has absolutely nothing to do with pids.
This is a problem to be solved with the user namespace.
Eric
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 5/5] pid: use namespaced iteration on processes while managing priority
[not found] ` <m1d4fp8ju3.fsf-B27657KtZYmhTnVgQlOflh2eb7JE58TQ@public.gmane.org>
@ 2008-12-18 18:13 ` Serge E. Hallyn
[not found] ` <20081218181317.GA14409-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
0 siblings, 1 reply; 23+ messages in thread
From: Serge E. Hallyn @ 2008-12-18 18:13 UTC (permalink / raw)
To: Eric W. Biederman; +Cc: Gowrishankar M, Containers, Dave, Sukadev, Balbir
Quoting Eric W. Biederman (ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org):
> Gowrishankar M <gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org> writes:
>
> > From: Gowrishankar M <gomuthuk-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
> >
> > At present we scan all processes in init namespace, while getting or setting
> > process priorities for a user. Incase of PID namespace, it leads to leak
> > priority to processes in other namespace.
> >
> > Below patch proposes to use new macro controller to fix the boundary of
> > processes list in current namespace.
>
> Nacked-by: "Eric W. Biederman" <ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
>
> This has nothing to do with pids. The command is to set the
> iopriority for a given user. This is a problem of the user namespace
> not the pid namespace.
The uid check needs to be fixed for user namespaces, agreed. I could
go either way though on whether we should also restrict to the same
pidns.
(note to fix the userns part of this added to my userns queue - first
I want to finish with keys; then maybe this should be done before
handling capabilities)
So if you want to nack this, I'll go along with that, but I think it's
useful.
thanks,
-serge
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 5/5] pid: use namespaced iteration on processes while managing priority
[not found] ` <20081218181317.GA14409-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
@ 2008-12-18 18:54 ` Eric W. Biederman
[not found] ` <m1wsdx71r7.fsf-B27657KtZYmhTnVgQlOflh2eb7JE58TQ@public.gmane.org>
0 siblings, 1 reply; 23+ messages in thread
From: Eric W. Biederman @ 2008-12-18 18:54 UTC (permalink / raw)
To: Serge E. Hallyn; +Cc: Gowrishankar M, Containers, Dave, Sukadev, Balbir
"Serge E. Hallyn" <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org> writes:
> The uid check needs to be fixed for user namespaces, agreed. I could
> go either way though on whether we should also restrict to the same
> pidns.
It would be a subtle unexpected semantic change, that we would need
to copy linux-abi and document etc. I'm not convinced it is that
useful.
I'm inclined to keep the semantics pure until there is some real
experience from the field on issues like this.
> (note to fix the userns part of this added to my userns queue - first
> I want to finish with keys; then maybe this should be done before
> handling capabilities)
Sounds good. Mentioning the user namespace was just to make it clear
where it should be fixed.
Eric
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 5/5] pid: use namespaced iteration on processes while managing priority
[not found] ` <m1wsdx71r7.fsf-B27657KtZYmhTnVgQlOflh2eb7JE58TQ@public.gmane.org>
@ 2008-12-18 19:23 ` Serge E. Hallyn
2008-12-19 4:30 ` Matt Helsley
1 sibling, 0 replies; 23+ messages in thread
From: Serge E. Hallyn @ 2008-12-18 19:23 UTC (permalink / raw)
To: Eric W. Biederman; +Cc: Gowrishankar M, Containers, Dave, Sukadev, Balbir
Quoting Eric W. Biederman (ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org):
> "Serge E. Hallyn" <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org> writes:
>
>
> > The uid check needs to be fixed for user namespaces, agreed. I could
> > go either way though on whether we should also restrict to the same
> > pidns.
>
> It would be a subtle unexpected semantic change, that we would need
> to copy linux-abi and document etc. I'm not convinced it is that
> useful.
>
> I'm inclined to keep the semantics pure until there is some real
> experience from the field on issues like this.
Ok.
Gowrishankar, please drop this patch.
> > (note to fix the userns part of this added to my userns queue - first
> > I want to finish with keys; then maybe this should be done before
> > handling capabilities)
>
> Sounds good. Mentioning the user namespace was just to make it clear
> where it should be fixed.
(And I might not have caught it if you hadn't mentioned it)
thanks,
-serge
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 5/5] pid: use namespaced iteration on processes while managing priority
[not found] ` <m1wsdx71r7.fsf-B27657KtZYmhTnVgQlOflh2eb7JE58TQ@public.gmane.org>
2008-12-18 19:23 ` Serge E. Hallyn
@ 2008-12-19 4:30 ` Matt Helsley
2008-12-19 4:37 ` Matt Helsley
1 sibling, 1 reply; 23+ messages in thread
From: Matt Helsley @ 2008-12-19 4:30 UTC (permalink / raw)
To: Eric W. Biederman; +Cc: Gowrishankar M, Containers, Dave, Sukadev, Balbir
On Thu, 2008-12-18 at 10:54 -0800, Eric W. Biederman wrote:
> "Serge E. Hallyn" <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org> writes:
>
>
> > The uid check needs to be fixed for user namespaces, agreed. I could
> > go either way though on whether we should also restrict to the same
> > pidns.
>
> It would be a subtle unexpected semantic change, that we would need
> to copy linux-abi and document etc. I'm not convinced it is that
> useful.
>
> I'm inclined to keep the semantics pure until there is some real
> experience from the field on issues like this.
Well the man page talks about PRIO_PROCESS and PRIO_PGRP and in those
cases it looks like "who" is really a pid or pgrp id:
> The value which is one of PRIO_PROCESS, PRIO_PGRP, or PRIO_USER, and
> who is interpreted relative to which (a process identifier for
> PRIO_PROCESS, process group identifier for PRIO_PGRP, and a user ID for
> PRIO_USER).
It looks to me like restricting by pidns is required if "which" is
PRIO_PROCESS or PRIO_PGRP. If "which" is PRIO_USER then yes, it sounds
like a user ns issue.
Cheers,
-Matt Helsley
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 5/5] pid: use namespaced iteration on processes while managing priority
2008-12-19 4:30 ` Matt Helsley
@ 2008-12-19 4:37 ` Matt Helsley
0 siblings, 0 replies; 23+ messages in thread
From: Matt Helsley @ 2008-12-19 4:37 UTC (permalink / raw)
To: Eric W. Biederman; +Cc: Containers, Sukadev, Balbir, Gowrishankar M, Dave
On Thu, 2008-12-18 at 20:30 -0800, Matt Helsley wrote:
> On Thu, 2008-12-18 at 10:54 -0800, Eric W. Biederman wrote:
> > "Serge E. Hallyn" <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org> writes:
> >
> >
> > > The uid check needs to be fixed for user namespaces, agreed. I could
> > > go either way though on whether we should also restrict to the same
> > > pidns.
> >
> > It would be a subtle unexpected semantic change, that we would need
> > to copy linux-abi and document etc. I'm not convinced it is that
> > useful.
> >
> > I'm inclined to keep the semantics pure until there is some real
> > experience from the field on issues like this.
>
> Well the man page talks about PRIO_PROCESS and PRIO_PGRP and in those
> cases it looks like "who" is really a pid or pgrp id:
>
> > The value which is one of PRIO_PROCESS, PRIO_PGRP, or PRIO_USER, and
> > who is interpreted relative to which (a process identifier for
> > PRIO_PROCESS, process group identifier for PRIO_PGRP, and a user ID for
> > PRIO_USER).
>
> It looks to me like restricting by pidns is required if "which" is
> PRIO_PROCESS or PRIO_PGRP. If "which" is PRIO_USER then yes, it sounds
> like a user ns issue.
Eh, ignore me. Looks like this is already the case in the code.
> Cheers,
> -Matt Helsley
^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2008-12-19 4:37 UTC | newest]
Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-12-18 16:42 pid: improved namespaced iteration over processes list (v2) Gowrishankar M
[not found] ` <1229618553-6348-1-git-send-email-gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2008-12-18 16:42 ` [PATCH 1/5] pid: add new iterative macros to list processes in a namespace Gowrishankar M
[not found] ` <1229618553-6348-2-git-send-email-gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2008-12-18 17:45 ` Eric W. Biederman
2008-12-18 16:42 ` [PATCH 2/5] pid: use namespaced iteration on processes while using sysrq Gowrishankar M
[not found] ` <1229618553-6348-3-git-send-email-gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2008-12-18 16:58 ` Dave Hansen
2008-12-18 17:12 ` Serge E. Hallyn
2008-12-18 17:31 ` Eric W. Biederman
2008-12-18 16:42 ` [PATCH 3/5] pid: use namespaced iteration on processes while setting capability Gowrishankar M
[not found] ` <1229618553-6348-4-git-send-email-gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2008-12-18 17:04 ` Serge E. Hallyn
2008-12-18 17:35 ` Eric W. Biederman
2008-12-18 16:42 ` [PATCH 4/5] pid: use namespaced iteration on processes while sending signal to all Gowrishankar M
[not found] ` <1229618553-6348-5-git-send-email-gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2008-12-18 17:04 ` Serge E. Hallyn
2008-12-18 17:10 ` Dave Hansen
2008-12-18 17:32 ` Serge E. Hallyn
2008-12-18 16:42 ` [PATCH 5/5] pid: use namespaced iteration on processes while managing priority Gowrishankar M
[not found] ` <1229618553-6348-6-git-send-email-gowrishankar.m-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2008-12-18 17:05 ` Serge E. Hallyn
[not found] ` <20081218170509.GC13188-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2008-12-18 17:46 ` Eric W. Biederman
2008-12-18 17:38 ` Eric W. Biederman
[not found] ` <m1d4fp8ju3.fsf-B27657KtZYmhTnVgQlOflh2eb7JE58TQ@public.gmane.org>
2008-12-18 18:13 ` Serge E. Hallyn
[not found] ` <20081218181317.GA14409-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2008-12-18 18:54 ` Eric W. Biederman
[not found] ` <m1wsdx71r7.fsf-B27657KtZYmhTnVgQlOflh2eb7JE58TQ@public.gmane.org>
2008-12-18 19:23 ` Serge E. Hallyn
2008-12-19 4:30 ` Matt Helsley
2008-12-19 4:37 ` Matt Helsley
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.