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@xxxxxxxxxx> Acked-by: Paul Menage <menage@xxxxxxxxxx> Acked-by: Serge Hallyn <serue@xxxxxxxxxx> changes for vpid and pid_t --- kernel/cgroup.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/kernel/cgroup.c b/kernel/cgroup.c index 35eebd5..588d305 100644 --- a/kernel/cgroup.c +++ b/kernel/cgroup.c @@ -2012,13 +2012,15 @@ int cgroup_scan_tasks(struct cgroup_scanner *scan) static int pid_array_load(pid_t *pidarray, int npids, struct cgroup *cgrp) { int n = 0; + pid_t vpid; 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 ((vpid = task_pid_vnr(tsk)) > 0) + pidarray[n++] = vpid; } cgroup_iter_end(cgrp, &it); return n; -- 1.5.5.1 _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers