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