[LTP] [PATCH v2] futex_waitv01: Add test verifies EINVAL for invalid nr_futexes
Zhao Gongyi
zhaogongyi@huawei.com
Fri Apr 8 11:17:33 CEST 2022
Add test verifies EINVAL for invalid nr_futexes according to
https://www.kernel.org/doc/html/latest/userspace-api/futex2.html.
Signed-off-by: Zhao Gongyi <zhaogongyi@huawei.com>
---
v1->v2: Check also lower bound that suggested by Andrea Cervesato
testcases/kernel/syscalls/futex/futex_waitv01.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/testcases/kernel/syscalls/futex/futex_waitv01.c b/testcases/kernel/syscalls/futex/futex_waitv01.c
index 601fee8df..721852750 100644
--- a/testcases/kernel/syscalls/futex/futex_waitv01.c
+++ b/testcases/kernel/syscalls/futex/futex_waitv01.c
@@ -98,6 +98,19 @@ static void test_invalid_clockid(void)
"futex_waitv invalid clockid");
}
+static void test_invalid_nr_futex(void)
+{
+ struct timespec to;
+ init_waitv();
+ init_timeout(&to);
+
+ /* Valid nr_futexes is [1, 128] */
+ TST_EXP_FAIL(futex_waitv(waitv, 129, 0, &to, CLOCK_REALTIME), EINVAL,
+ "futex_waitv invalid nr_futexes");
+ TST_EXP_FAIL(futex_waitv(waitv, 0, 0, &to, CLOCK_REALTIME), EINVAL,
+ "futex_waitv invalid nr_futexes");
+}
+
static void run(void)
{
test_invalid_flags();
@@ -105,6 +118,7 @@ static void run(void)
test_null_address();
test_null_waiters();
test_invalid_clockid();
+ test_invalid_nr_futex();
}
static struct tst_test test = {
--
2.17.1
More information about the ltp
mailing list