diff options
-rw-r--r-- | include/linux/pid.h | 14 | ||||
-rw-r--r-- | include/linux/sched.h | 5 | ||||
-rw-r--r-- | kernel/pid.c | 6 |
3 files changed, 11 insertions, 14 deletions
diff --git a/include/linux/pid.h b/include/linux/pid.h index 061abb6c0796..b91f4732dc1b 100644 --- a/include/linux/pid.h +++ b/include/linux/pid.h | |||
@@ -127,9 +127,8 @@ extern void FASTCALL(free_pid(struct pid *pid)); | |||
127 | * the helpers to get the pid's id seen from different namespaces | 127 | * the helpers to get the pid's id seen from different namespaces |
128 | * | 128 | * |
129 | * pid_nr() : global id, i.e. the id seen from the init namespace; | 129 | * pid_nr() : global id, i.e. the id seen from the init namespace; |
130 | * pid_vnr() : virtual id, i.e. the id seen from the namespace this pid | 130 | * pid_vnr() : virtual id, i.e. the id seen from the pid namespace of |
131 | * belongs to. this only makes sence when called in the | 131 | * current. |
132 | * context of the task that belongs to the same namespace; | ||
133 | * pid_nr_ns() : id seen from the ns specified. | 132 | * pid_nr_ns() : id seen from the ns specified. |
134 | * | 133 | * |
135 | * see also task_xid_nr() etc in include/linux/sched.h | 134 | * see also task_xid_nr() etc in include/linux/sched.h |
@@ -144,14 +143,7 @@ static inline pid_t pid_nr(struct pid *pid) | |||
144 | } | 143 | } |
145 | 144 | ||
146 | pid_t pid_nr_ns(struct pid *pid, struct pid_namespace *ns); | 145 | pid_t pid_nr_ns(struct pid *pid, struct pid_namespace *ns); |
147 | 146 | pid_t pid_vnr(struct pid *pid); | |
148 | static inline pid_t pid_vnr(struct pid *pid) | ||
149 | { | ||
150 | pid_t nr = 0; | ||
151 | if (pid) | ||
152 | nr = pid->numbers[pid->level].nr; | ||
153 | return nr; | ||
154 | } | ||
155 | 147 | ||
156 | #define do_each_pid_task(pid, type, task) \ | 148 | #define do_each_pid_task(pid, type, task) \ |
157 | do { \ | 149 | do { \ |
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; | |||
1332 | * from various namespaces | 1332 | * from various namespaces |
1333 | * | 1333 | * |
1334 | * task_xid_nr() : global id, i.e. the id seen from the init namespace; | 1334 | * task_xid_nr() : global id, i.e. the id seen from the init namespace; |
1335 | * task_xid_vnr() : virtual id, i.e. the id seen from the namespace the task | 1335 | * task_xid_vnr() : virtual id, i.e. the id seen from the pid namespace of |
1336 | * belongs to. this only makes sence when called in the | 1336 | * current. |
1337 | * context of the task that belongs to the same namespace; | ||
1338 | * task_xid_nr_ns() : id seen from the ns specified; | 1337 | * task_xid_nr_ns() : id seen from the ns specified; |
1339 | * | 1338 | * |
1340 | * set_task_vxid() : assigns a virtual id to a task; | 1339 | * set_task_vxid() : assigns a virtual id to a task; |
diff --git a/kernel/pid.c b/kernel/pid.c index 939746fb4ce7..a32859c4a3cd 100644 --- a/kernel/pid.c +++ b/kernel/pid.c | |||
@@ -443,6 +443,12 @@ pid_t pid_nr_ns(struct pid *pid, struct pid_namespace *ns) | |||
443 | return nr; | 443 | return nr; |
444 | } | 444 | } |
445 | 445 | ||
446 | pid_t pid_vnr(struct pid *pid) | ||
447 | { | ||
448 | return pid_nr_ns(pid, current->nsproxy->pid_ns); | ||
449 | } | ||
450 | EXPORT_SYMBOL_GPL(pid_vnr); | ||
451 | |||
446 | pid_t task_pid_nr_ns(struct task_struct *tsk, struct pid_namespace *ns) | 452 | pid_t task_pid_nr_ns(struct task_struct *tsk, struct pid_namespace *ns) |
447 | { | 453 | { |
448 | return pid_nr_ns(task_pid(tsk), ns); | 454 | return pid_nr_ns(task_pid(tsk), ns); |