[PATCH v1] fs/select: check return value of poll_select_set_timeout()

From: lily
Date: Tue Aug 23 2022 - 01:48:43 EST


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