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

lily posted 1 patch 3 years, 7 months ago
fs/select.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH v1] fs/select: check return value of poll_select_set_timeout()
Posted by lily 3 years, 7 months ago
Check poll_select_set_timeout(), which could fail and return error.

Signed-off-by: Li Zhong <floridsleeves@gmail.com>
---
 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