[PATCH] calculate NGROUPS_PER_BLOCK from PAGE_SIZE
From: Greg Edwards <edwardsg@sgi.com>
On ia64, EXEC_PAGESIZE (max page size) is 65536, but the default page size is
16k. This results in NGROUPS_PER_BLOCK in include/linux/sched.h being
calculated incorrectly when the page size is anything other than 64k. For
example, on a 16k page size kernel, a setgroups() call with a gidsetsize of
65536 will end up walking over memory since only 1/4 of the needed pages were
allocated for the blocks[] array in the group_info struct.
Patch below calculates NGROUPS_PER_BLOCK from PAGE_SIZE instead.