All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] cgroups: not to iterate other namespace process inside container
@ 2008-12-08  6:52 gowrishankar
       [not found] ` <493CC423.5060601-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
  0 siblings, 1 reply; 5+ messages in thread
From: gowrishankar @ 2008-12-08  6:52 UTC (permalink / raw)
  To: containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA
  Cc: containers-qjLDD68F18O7TbgM5vRIOg, Sukadev Bhattiprolu, Balbir

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-xthvdsQ13ZrQT0dZR+AlfA@public.gmane.org>
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;

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2008-12-09 23:37 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-12-08  6:52 [PATCH] cgroups: not to iterate other namespace process inside container gowrishankar
     [not found] ` <493CC423.5060601-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2008-12-08  6:31   ` [Devel] " Paul Menage
     [not found]     ` <6599ad830812072231l25aadbd8u6653cda3a22ddc2d-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-12-08  6:56       ` Balbir Singh
2008-12-08 16:18   ` Dave Hansen
2008-12-09 23:37     ` Sukadev Bhattiprolu

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.