diff -u linux-2.6.32.16/fs/proc/base.c linux-2.6.32.16-new/fs/proc/base.c
--- linux-2.6.32.16/fs/proc/base.c	2010-07-09 14:50:38.000000000 -0400
+++ linux-2.6.32.16-new/fs/proc/base.c	2010-07-10 14:56:09.000000000 -0400
@@ -2527,9 +2527,6 @@
 	if (p > last)
 		goto out;
 
-	if (gr_pid_is_chrooted(task) || gr_check_hidden_task(task))
-		goto out;
-
 	error = proc_base_instantiate(dir, dentry, task, p);
 
 out:
@@ -2850,7 +2847,7 @@
 	if (!task)
 		goto out;
 
-	if (gr_check_hidden_task(task))
+	if (gr_pid_is_chrooted(task) || gr_check_hidden_task(task))
 		goto out_put_task;
 
 	result = proc_pid_instantiate(dir, dentry, task, NULL);
