diff -u linux-2.6.24.4/kernel/sys.c linux-2.6.24.4/kernel/sys.c --- linux-2.6.24.4/kernel/sys.c 2008-03-26 20:21:09.000000000 -0400 +++ linux-2.6.24.4/kernel/sys.c 2008-04-17 19:50:42.000000000 -0400 @@ -986,7 +986,10 @@ if (pgid != pid) { struct task_struct *g; - g = find_task_by_pid_type_ns(PIDTYPE_PGID, pgid, ns); + /* grsec: replaced find_task_by_pid_type_ns with equivalent + call which lacks the chroot restriction + */ + g = pid_task(find_pid_ns(pgid, ns), PIDTYPE_PGID); if (!g || task_session(g) != task_session(group_leader)) goto out; }