svn commit: r256849 - in head/sys: kern sys

Konstantin Belousov kostikbel at gmail.com
Sat Nov 2 21:39:25 UTC 2013


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 ?

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 834 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/svn-src-head/attachments/20131102/3d19d0c4/attachment.sig>


More information about the svn-src-head mailing list