aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/pid.c')
-rw-r--r--kernel/pid.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/kernel/pid.c b/kernel/pid.c
index 78b3d9f80d44..b17263be9082 100644
--- a/kernel/pid.c
+++ b/kernel/pid.c
@@ -526,8 +526,11 @@ pid_t __task_pid_nr_ns(struct task_struct *task, enum pid_type type,
526 if (!ns) 526 if (!ns)
527 ns = task_active_pid_ns(current); 527 ns = task_active_pid_ns(current);
528 if (likely(pid_alive(task))) { 528 if (likely(pid_alive(task))) {
529 if (type != PIDTYPE_PID) 529 if (type != PIDTYPE_PID) {
530 if (type == __PIDTYPE_TGID)
531 type = PIDTYPE_PID;
530 task = task->group_leader; 532 task = task->group_leader;
533 }
531 nr = pid_nr_ns(rcu_dereference(task->pids[type].pid), ns); 534 nr = pid_nr_ns(rcu_dereference(task->pids[type].pid), ns);
532 } 535 }
533 rcu_read_unlock(); 536 rcu_read_unlock();
@@ -536,12 +539,6 @@ pid_t __task_pid_nr_ns(struct task_struct *task, enum pid_type type,
536} 539}
537EXPORT_SYMBOL(__task_pid_nr_ns); 540EXPORT_SYMBOL(__task_pid_nr_ns);
538 541
539pid_t task_tgid_nr_ns(struct task_struct *tsk, struct pid_namespace *ns)
540{
541 return pid_nr_ns(task_tgid(tsk), ns);
542}
543EXPORT_SYMBOL(task_tgid_nr_ns);
544
545struct pid_namespace *task_active_pid_ns(struct task_struct *tsk) 542struct pid_namespace *task_active_pid_ns(struct task_struct *tsk)
546{ 543{
547 return ns_of_pid(task_pid(tsk)); 544 return ns_of_pid(task_pid(tsk));