Date: Mon, 23 Mar 2009 00:39:37 -0400 From: David Schultz <das@FreeBSD.ORG> To: Boris Kochergin <spawk@acm.poly.edu> Cc: freebsd-hackers@FreeBSD.ORG Subject: Re: Doing away with NGROUPS_MAX in src/sys/sys/syslimits.h? Message-ID: <20090323043937.GA61818@zim.MIT.EDU> In-Reply-To: <49C6F4F4.5030609@acm.poly.edu> References: <49C6F4F4.5030609@acm.poly.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Mar 22, 2009, Boris Kochergin wrote: > Ahoy. I got bitten by this today--a system I administer for someone had > users in more than 16 groups, so I had to bump the value, recompile the > kernel, and reboot. It seems desirable to (at the very least) make this > a read-only tunable that can be set using /boot/loader.conf, so as to > avoid source modification and kernel recompilation. I had a look around, > and noticed that NGROUPS_MAX is used to construct static arrays in a > couple of locations ("ibcs2_gid_t iset[NGROUPS_MAX];"). It seems that > malloc(9)/MALLOC(9) can be used to allocate memory for the array > instead, and panic() (or something) can be called if the allocation > fails, no? Is that about the gist of it? If I'm not overlooking > something major, I'd like to take a stab at it. There's already a kern.ngroups sysctl, but there are many places where `ngroups' needs to be used in preference to NGROUPS in the kernel. In userland, sysconf(_SC_NGROUPS_MAX) needs to be used in preference to NGROUPS_MAX.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090323043937.GA61818>