On Mon, 31 Jan 2000, Tigran Aivazian wrote:
> Why is it wrong? Let's assume we have nfds=1024, then since sizeof(struct
> pollfd) = 8 we need 8192 bytes i.e. 2 pages to store all struct pollfd.
> This means two full "chunks", fds[0] and fds[1] (nchunks=1), i.e. just two
> pointers. ~~~~~~~~~
I meant nchunks=2, nleft=0. Btw, the value you reported could occur only
if the userspace passed nfds=2G-512,2G-511,...,2G-1, but that should have
been caught by the clause:
if (nfds > current->files->max_fds)
return -EINVAL;
So, it is still an open problem; I will try to see what may go wrong but
any extra data (especially strace output containing calls to poll(2))
would help greatly.
Regards,
Tigran.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Mon Jan 31 2000 - 21:00:27 EST