[Devel] [PATCH] cgroups: not to iterate other namespace process inside container
gowrishankar
gomuthuk at linux.vnet.ibm.com
Sun Dec 7 22:52:19 PST 2008
Once tasks are populated from system namespace inside cgroup, container
replaces
other namespace task with 0 while listing tasks, inside container.
Though this is expected behaviour
from container end, there is no use of showing unwanted 0s.
In below patch, we check if a process is in same namespace before
loading into pid array.
Signed-off-by: Gowrishankar M <gowrishankar.m at in.ibm.com>
Index: linux-2.6.28-rc3/kernel/cgroup.c
===================================================================
--- linux-2.6.28-rc3.orig/kernel/cgroup.c 2008-12-07
13:23:19.000000000 -0500
+++ linux-2.6.28-rc3/kernel/cgroup.c 2008-12-07 13:24:28.000000000 -0500
@@ -2011,14 +2011,15 @@
*/
static int pid_array_load(pid_t *pidarray, int npids, struct cgroup *cgrp)
{
- int n = 0;
+ int n = 0, ret;
struct cgroup_iter it;
struct task_struct *tsk;
cgroup_iter_start(cgrp, &it);
while ((tsk = cgroup_iter_next(cgrp, &it))) {
if (unlikely(n == npids))
break;
- pidarray[n++] = task_pid_vnr(tsk);
+ if ((ret = task_pid_vnr(tsk)) > 0)
+ pidarray[n++] = ret;
}
cgroup_iter_end(cgrp, &it);
return n;
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
More information about the Devel
mailing list