Before kernel validates that fd is valid, it checks itimerspec struct with timespec_valid(). This struct is currently not initialised in test, which can cause failures, for example:
timerfd_settime01 1 TFAIL : timerfd_settime01.c:121: timerfd_settime() failed unexpectedly; expected: 9 - Bad file descriptor: TEST_ERRNO=EINVAL(22): Invalid argument timerfd_settime01 2 TFAIL : timerfd_settime01.c:121: timerfd_settime() failed unexpectedly; expected: 14 - Bad address: TEST_ERRNO=EINVAL(22): Invalid argument Fix this by giving fields in this struct some deterministic values (zero in this patch). Signed-off-by: Jan Stancek <jstan...@redhat.com> --- .../kernel/syscalls/timerfd/timerfd_settime01.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/testcases/kernel/syscalls/timerfd/timerfd_settime01.c b/testcases/kernel/syscalls/timerfd/timerfd_settime01.c index d12e40a..a1b04a5 100644 --- a/testcases/kernel/syscalls/timerfd/timerfd_settime01.c +++ b/testcases/kernel/syscalls/timerfd/timerfd_settime01.c @@ -58,6 +58,7 @@ static void setup(void); static void timerfd_settime_verify(const struct test_case_t *); static void cleanup(void); static int exp_enos[] = { EBADF, EFAULT, EINVAL, 0 }; +static struct itimerspec new_value; int main(int argc, char *argv[]) { @@ -103,7 +104,6 @@ static void setup(void) static void timerfd_settime_verify(const struct test_case_t *test) { - struct itimerspec new_value; TEST(timerfd_settime(*test->fd, test->flags, &new_value, test->old_value)); -- 1.7.1 ------------------------------------------------------------------------------ Slashdot TV. Video for Nerds. Stuff that matters. http://tv.slashdot.org/ _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list