Re: [PATCH] cgroups: skip processes from other namespaces when listing a cgroup

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* gowrishankar <gomuthuk@xxxxxxxxxxxxxxxxxx> [2008-12-07 20:16:01]:

> 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;

The formatting does not seem right, what is your tab space set to?

>     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
>
>

-- 
	Balbir
_______________________________________________
Containers mailing list
Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/containers

[Index of Archives]     [Cgroups]     [Netdev]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux