linux-user: Check for bad event numbers in epoll_wait
commit2ba7fae3bd688f5bb6cb08defc731d77e6bd943c
authorPeter Maydell <peter.maydell@linaro.org>
Mon, 18 Jul 2016 14:35:59 +0000 (18 15:35 +0100)
committerRiku Voipio <riku.voipio@linaro.org>
Wed, 21 Sep 2016 11:25:26 +0000 (21 14:25 +0300)
treea2138d834c2f9d056db7c55b26118b554865be46
parent700fa58e4b9100d6bd77df06d2e5d1f457720c4d
linux-user: Check for bad event numbers in epoll_wait

The kernel checks that the maxevents parameter to epoll_wait
is non-negative and not larger than EP_MAX_EVENTS. Add this
check to our implementation, so that:
 * we fail these cases EINVAL rather than EFAULT
 * we don't pass negative or overflowing values to the
   lock_user() size calculation

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
linux-user/syscall.c
linux-user/syscall_defs.h