From 11f09947f3066f5ff84fd15ef22b72b46eea97a8 Mon Sep 17 00:00:00 2001 From: Stefan Liebler Date: Thu, 11 Aug 2022 09:47:46 +0200 Subject: tst-process_madvise: Check process_madvise-syscall support. So far this test checks if pidfd_open-syscall is supported, which was introduced with linux 5.3. The process_madvise-syscall was introduced with linux 5.10. Thus you'll get FAILs if you are running a kernel in between. This patch adds a check if the first process_madvise-syscall returns ENOSYS and in this case will fail with UNSUPPORTED. Reviewed-by: Florian Weimer --- sysdeps/unix/sysv/linux/tst-process_madvise.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'sysdeps/unix/sysv') diff --git a/sysdeps/unix/sysv/linux/tst-process_madvise.c b/sysdeps/unix/sysv/linux/tst-process_madvise.c index a674e80b76..3b032ddefc 100644 --- a/sysdeps/unix/sysv/linux/tst-process_madvise.c +++ b/sysdeps/unix/sysv/linux/tst-process_madvise.c @@ -101,8 +101,11 @@ do_test (void) /* We expect this to succeed in the target process because the mapping is valid. */ - TEST_COMPARE (process_madvise (pidfd, &iv, 1, MADV_COLD, 0), - 2 * page_size); + ssize_t ret = process_madvise (pidfd, &iv, 1, MADV_COLD, 0); + if (ret == -1 && errno == ENOSYS) + FAIL_UNSUPPORTED ("kernel does not support process_madvise, skipping" + "test"); + TEST_COMPARE (ret, 2 * page_size); } { -- cgit 1.4.1