since kernel commit 1998cc0 (after kernel-3.8 released),
madvise(MADV_WILLNEED) to anonymous memory doesn't return -EBADF now, as
now we support swap prefetch. Thus the 5th testcase in madvise02 will
not pass. This patch fixes this by adding a tst_kvercmp() condition, and
will give a pass if kernel is >=3.9 (including the RCs).
Signed-off-by: Caspar Zhang <[email protected]>
---
testcases/kernel/syscalls/madvise/madvise02.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/testcases/kernel/syscalls/madvise/madvise02.c b/testcases/kernel/syscalls/madvise/madvise02.c
index 87d26c3..f68fb0b 100644
--- a/testcases/kernel/syscalls/madvise/madvise02.c
+++ b/testcases/kernel/syscalls/madvise/madvise02.c
@@ -187,7 +187,15 @@ int main(int argc, char *argv[])
TEST(madvise
(tmp_memory_allocated, 5 * pagesize, MADV_WILLNEED));
- check_and_print(EBADF);
+ if (tst_kvercmp(3, 9, 0) < 0)
+ check_and_print(EBADF);
+ /* in kernel commit 1998cc0, madvise(MADV_WILLNEED) to anon
+ * mem doesn't return -EBADF now, as now we suuport swap
+ * prefretch.
+ */
+ else
+ tst_resm(TPASS, "madvise succeeded as expected, see "
+ "kernel commit 1998cc0 for details.");
free((void *)ptr_memory_allocated);
close(fd);
------------------------------------------------------------------------------
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester
Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the
endpoint security space. For insight on selecting the right partner to
tackle endpoint security challenges, access the full report.
http://p.sf.net/sfu/symantec-dev2dev
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list