diff --git a/sys/kern/sys_generic.c b/sys/kern/sys_generic.c index 13b5125847c4..d329460564e3 100644 --- a/sys/kern/sys_generic.c +++ b/sys/kern/sys_generic.c @@ -848,8 +848,8 @@ poll(td, uap) struct thread *td; struct poll_args *uap; { - caddr_t bits; - char smallbits[32 * sizeof(struct pollfd)]; + struct pollfd *bits; + struct pollfd smallbits[32]; struct timeval atv, rtv, ttv; int error = 0, timo; u_int ncoll, nfds; @@ -908,7 +908,7 @@ poll(td, uap) mtx_unlock_spin(&sched_lock); mtx_unlock(&sellock); - error = pollscan(td, (struct pollfd *)bits, nfds); + error = pollscan(td, bits, nfds); mtx_lock(&sellock); if (error || td->td_retval[0]) goto done;