From mboxrd@z Thu Jan 1 00:00:00 1970 From: Viresh Kumar Date: Fri, 22 May 2020 16:21:33 +0530 Subject: [LTP] [PATCH V4 13/17] syscalls/select6: Add support for time64 tests In-Reply-To: References: Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: ltp@lists.linux.it This adds support for time64 tests to the existing select6() syscall tests. Signed-off-by: Viresh Kumar --- testcases/kernel/syscalls/select/select_var.h | 25 ++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/testcases/kernel/syscalls/select/select_var.h b/testcases/kernel/syscalls/select/select_var.h index b19a1d1bf085..2c7604807cf6 100644 --- a/testcases/kernel/syscalls/select/select_var.h +++ b/testcases/kernel/syscalls/select/select_var.h @@ -6,6 +6,7 @@ #define SELECT_VAR__ #include "lapi/syscalls.h" +#include "tst_timer.h" struct compat_sel_arg_struct { long _n; @@ -38,7 +39,7 @@ static int do_select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *except } case 2: { int ret; - struct timespec ts = { + struct __kernel_old_timespec ts = { .tv_sec = timeout->tv_sec, .tv_nsec = timeout->tv_usec * 1000, }; @@ -47,7 +48,22 @@ static int do_select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *except timeout->tv_usec = ts.tv_nsec / 1000; return ret; } - case 3: + case 3: { + int ret = 0; +#if (__NR_clock_settime64 != __LTP__NR_INVALID_SYSCALL) + struct __kernel_timespec ts = { + .tv_sec = timeout->tv_sec, + .tv_nsec = timeout->tv_usec * 1000, + }; + ret = tst_syscall(__NR_pselect6_time64, nfds, readfds, writefds, exceptfds, &ts, NULL); + timeout->tv_sec = ts.tv_sec; + timeout->tv_usec = ts.tv_nsec / 1000; +#else + tst_brk(TCONF, "__NR_pselect6 time64 variant not supported"); +#endif + return ret; + } + case 4: #ifdef __NR__newselect return tst_syscall(__NR__newselect, nfds, readfds, writefds, exceptfds, timeout); #else @@ -72,11 +88,14 @@ static void select_info(void) tst_res(TINFO, "Testing SYS_pselect6 syscall"); break; case 3: + tst_res(TINFO, "Testing SYS_pselect6 time64 syscall"); + break; + case 4: tst_res(TINFO, "Testing SYS__newselect syscall"); break; } } -#define TEST_VARIANTS 4 +#define TEST_VARIANTS 5 #endif /* SELECT_VAR__ */ -- 2.25.0.rc1.19.g042ed3e048af