[LTP] [PATCH 3/3] syscalls/madvise02: fix madvise case due to kernel change

Caspar Zhang
2013-03-07T08:03:41Z

[-- Attachment #1: Type: text/plain, Size: 501 bytes --]

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 <caspar@casparzhang.com>
---
testcases/kernel/syscalls/madvise/madvise02.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0003-syscalls-madvise02-fix-madvise-case-due-to-kernel-ch.patch --]
[-- Type: text/x-patch; name="0003-syscalls-madvise02-fix-madvise-case-due-to-kernel-ch.patch", Size: 776 bytes --]

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);

[-- Attachment #3: Type: text/plain, Size: 397 bytes --]

------------------------------------------------------------------------------
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

[-- Attachment #4: Type: text/plain, Size: 155 bytes --]