diff options
| author | Conrad Meyer <cem@FreeBSD.org> | 2018-11-01 23:46:23 +0000 |
|---|---|---|
| committer | Conrad Meyer <cem@FreeBSD.org> | 2018-11-01 23:46:23 +0000 |
| commit | 78c2a9806ea5035f4ea005a877987feb3e365e7f (patch) | |
| tree | a154f02bacc355f7a9d8e0dbd1f55e23da46af23 /sys/kern/sys_generic.c | |
| parent | 209fcf8ed92ea4fdaa7b39ba1d42d3031b149511 (diff) | |
Notes
Diffstat (limited to 'sys/kern/sys_generic.c')
| -rw-r--r-- | sys/kern/sys_generic.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/kern/sys_generic.c b/sys/kern/sys_generic.c index 0e8e173654c5c..300c80930ca53 100644 --- a/sys/kern/sys_generic.c +++ b/sys/kern/sys_generic.c @@ -1339,6 +1339,13 @@ kern_poll(struct thread *td, struct pollfd *ufds, u_int nfds, } else sbt = -1; + /* + * This is kinda bogus. We have fd limits, but that is not + * really related to the size of the pollfd array. Make sure + * we let the process use at least FD_SETSIZE entries and at + * least enough for the system-wide limits. We want to be reasonably + * safe, but not overly restrictive. + */ if (nfds > maxfilesperproc && nfds > FD_SETSIZE) return (EINVAL); if (nfds > nitems(stackfds)) |
