diff -urNp x-ref/fs/select.c 2.4.21pre2aa1/fs/select.c
--- x-ref/fs/select.c	2002-12-19 00:15:39.000000000 +0100
+++ 2.4.21pre2aa1/fs/select.c	2002-12-19 01:07:18.000000000 +0100
@@ -417,7 +417,7 @@ asmlinkage long sys_poll(struct pollfd *
 	int nchunks, nleft;
 
 	/* Do a sanity check on nfds ... */
-	if (nfds > current->files->max_fdset && nfds > OPEN_MAX)
+	if (nfds > current->files->max_fdset && nfds > current->rlim[RLIMIT_NOFILE].rlim_cur)
 		return -EINVAL;
 
 	if (timeout) {