summaryrefslogtreecommitdiffstats
path: root/sys/compat/svr4/svr4_filio.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/compat/svr4/svr4_filio.c')
-rw-r--r--sys/compat/svr4/svr4_filio.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/sys/compat/svr4/svr4_filio.c b/sys/compat/svr4/svr4_filio.c
index 79b9bf4..c15c5b4 100644
--- a/sys/compat/svr4/svr4_filio.c
+++ b/sys/compat/svr4/svr4_filio.c
@@ -66,10 +66,13 @@ svr4_sys_poll(td, uap)
int idx = 0, cerr;
u_long siz;
- mtx_assert(&Giant, MA_OWNED);
- if (uap->nfds > td->td_proc->p_rlimit[RLIMIT_NOFILE].rlim_cur &&
- uap->nfds > FD_SETSIZE)
- return (EINVAL);
+ PROC_LOCK(td->td_proc);
+ if (uap->nfds > lim_cur(td->td_proc, RLIMIT_NOFILE) &&
+ uap->nfds > FD_SETSIZE) {
+ PROC_UNLOCK(td->td_proc);
+ return (EINVAL);
+ }
+ PROC_UNLOCK(td->td_proc);
pa.fds = uap->fds;
pa.nfds = uap->nfds;
OpenPOWER on IntegriCloud