[PATCH] Use struct pspace in next_pidmap and find_ge_pid

This updates my proc: readdir race fix (take 3) patch
to account for the changes made by: Sukadev Bhattiprolu <sukadev@us.ibm.com>
to introduce struct pspace.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
diff --git a/kernel/pid.c b/kernel/pid.c
index 89107b7..e4779bb 100644
--- a/kernel/pid.c
+++ b/kernel/pid.c
@@ -149,19 +149,20 @@
 	return -1;
 }
 
-static int next_pidmap(int last)
+static int next_pidmap(struct pspace *pspace, int last)
 {
 	int offset;
-	struct pidmap *map;
+	struct pidmap *map, *end;
 
 	offset = (last + 1) & BITS_PER_PAGE_MASK;
-	map = &pidmap_array[(last + 1)/BITS_PER_PAGE];
-	for (; map < &pidmap_array[PIDMAP_ENTRIES]; map++, offset = 0) {
+	map = &pspace->pidmap[(last + 1)/BITS_PER_PAGE];
+	end = &pspace->pidmap[PIDMAP_ENTRIES];
+	for (; map < end; map++, offset = 0) {
 		if (unlikely(!map->page))
 			continue;
 		offset = find_next_bit((map)->page, BITS_PER_PAGE, offset);
 		if (offset < BITS_PER_PAGE)
-			return mk_pid(map, offset);
+			return mk_pid(pspace, map, offset);
 	}
 	return -1;
 }
@@ -338,7 +339,7 @@
 		pid = find_pid(nr);
 		if (pid)
 			break;
-		nr = next_pidmap(nr);
+		nr = next_pidmap(&init_pspace, nr);
 	} while (nr > 0);
 
 	return pid;