On Sat, Nov 02, 2013 at 10:17:27PM +0100, Jilles Tjoelker wrote: > On Mon, Oct 21, 2013 at 04:44:53PM +0000, Konstantin Belousov wrote: > > Author: kib > > Date: Mon Oct 21 16:44:53 2013 > > New Revision: 256849 > > URL: http://svnweb.freebsd.org/changeset/base/256849 > > > Log: > > Add a resource limit for the total number of kqueues available to the > > user. Kqueue now saves the ucred of the allocating thread, to > > correctly decrement the counter on close. > > > Under some specific and not real-world use scenario for kqueue, it is > > possible for the kqueues to consume memory proportional to the square > > of the number of the filedescriptors available to the process. Limit > > allows administrator to prevent the abuse. > > > This is kernel-mode side of the change, with the user-mode enabling > > commit following. > > > Reported and tested by: pho > > Discussed with: jmg > > Sponsored by: The FreeBSD Foundation > > MFC after: 2 weeks > > > [snip] > > + if (!chgkqcnt(cred->cr_ruidinfo, 1, lim_cur(td->td_proc, > > + RLIMIT_KQUEUES))) { > > + PROC_UNLOCK(p); > > + crfree(cred); > > + return (EMFILE); > > + } > > Perhaps this error should be [ENOMEM] instead of [EMFILE] as it is > unrelated to the number of file descriptors in the process. This error > is already listed in the kqueue(2) man page but appears to be not > generated. The rlimit can then be mentioned in the man page.
This is reasonable. Would you make the change yourself, please ?
pgpzYXulEUQNB.pgp
Description: PGP signature