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

Wanlong Gao
2013-03-07T08:16:13Z

On 03/07/2013 03:38 PM, Caspar Zhang wrote:
> 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(-)
>
>
> 0003-syscalls-madvise02-fix-madvise-case-due-to-kernel-ch.patch
>
>
> 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

Please s/suuport/support/ when you push this patch.

Reviewed-by: Wanlong Gao <gaowanlong@cn.fujitsu.com>

> + * prefretch.
> + */
> + else
> + tst_resm(TPASS, "madvise succeeded as expected, see "
> + "kernel commit 1998cc0 for details.");
> free((void *)ptr_memory_allocated);
>
> close(fd);