summaryrefslogtreecommitdiffstats
path: root/include/linux/sched.h
diff options
context:
space:
mode:
authorEric W. Biederman2008-02-08 13:19:15 +0100
committerLinus Torvalds2008-02-08 18:22:27 +0100
commit44c4e1b2581f7273ab14ef30b6430618801c57b1 (patch)
tree9881990d56dd58f0c93991217a999bab145946fa /include/linux/sched.h
parentpid: sys_wait... fixes (diff)
downloadkernel-qcow2-linux-44c4e1b2581f7273ab14ef30b6430618801c57b1.tar.gz
kernel-qcow2-linux-44c4e1b2581f7273ab14ef30b6430618801c57b1.tar.xz
kernel-qcow2-linux-44c4e1b2581f7273ab14ef30b6430618801c57b1.zip
pid: Extend/Fix pid_vnr
pid_vnr returns the user space pid with respect to the pid namespace the struct pid was allocated in. What we want before we return a pid to user space is the user space pid with respect to the pid namespace of current. pid_vnr is a very nice optimization but because it isn't quite what we want it is easy to use pid_vnr at times when we aren't certain the struct pid was allocated in our pid namespace. Currently this describes at least tiocgpgrp and tiocgsid in ttyio.c the parent process reported in the core dumps and the parent process in get_signal_to_deliver. So unless the performance impact is huge having an interface that does what we want instead of always what we want should be much more reliable and much less error prone. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Cc: Oleg Nesterov <oleg@tv-sign.ru> Acked-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux/sched.h')
-rw-r--r--include/linux/sched.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h
index d1c9b7f1d51e..3deb6e5d3096 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1332,9 +1332,8 @@ struct pid_namespace;
* from various namespaces
*
* task_xid_nr() : global id, i.e. the id seen from the init namespace;
- * task_xid_vnr() : virtual id, i.e. the id seen from the namespace the task
- * belongs to. this only makes sence when called in the
- * context of the task that belongs to the same namespace;
+ * task_xid_vnr() : virtual id, i.e. the id seen from the pid namespace of
+ * current.
* task_xid_nr_ns() : id seen from the ns specified;
*
* set_task_vxid() : assigns a virtual id to a task;