pidhash is no longer required as all the functionalities
are present in the idr tree associated with the namespace.
nr can be looked up in the namespace by idr_get().

Signed-off-by: Gargi Sharma <[email protected]>
---
 kernel/pid.c | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

diff --git a/kernel/pid.c b/kernel/pid.c
index ea22e89..761a0c2 100644
--- a/kernel/pid.c
+++ b/kernel/pid.c
@@ -247,15 +247,7 @@ void disable_pid_allocation(struct pid_namespace *ns)
 
 struct pid *find_pid_ns(int nr, struct pid_namespace *ns)
 {
-       struct upid *pnr;
-
-       hlist_for_each_entry_rcu(pnr,
-                       &pid_hash[pid_hashfn(nr, ns)], pid_chain)
-               if (pnr->nr == nr && pnr->ns == ns)
-                       return container_of(pnr, struct pid,
-                                       numbers[ns->level]);
-
-       return NULL;
+       return idr_get(&ns->idr, &nr);
 }
 EXPORT_SYMBOL_GPL(find_pid_ns);
 
-- 
2.7.4

Reply via email to