Check poll_select_set_timeout(), which could fail and return error. Signed-off-by: Li Zhong <floridsleeves@xxxxxxxxx> --- fs/select.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/select.c b/fs/select.c index 0ee55af1a55c..d9febe1b846b 100644 --- a/fs/select.c +++ b/fs/select.c @@ -1073,8 +1073,8 @@ SYSCALL_DEFINE3(poll, struct pollfd __user *, ufds, unsigned int, nfds, if (timeout_msecs >= 0) { to = &end_time; - poll_select_set_timeout(to, timeout_msecs / MSEC_PER_SEC, - NSEC_PER_MSEC * (timeout_msecs % MSEC_PER_SEC)); + if (poll_select_set_timeout(to, timeout_msecs / MSEC_PER_SEC, NSEC_PER_MSEC * (timeout_msecs % MSEC_PER_SEC))) + return -EINVAL; } ret = do_sys_poll(ufds, nfds, to); -- 2.25.1