Re: [PATCHv9 2/2] selftest/x86: add mremap vdso test

From: Andy Lutomirski
Date: Fri May 20 2016 - 11:33:30 EST


On Thu, May 19, 2016 at 11:48 PM, Ingo Molnar <mingo@xxxxxxxxxx> wrote:
>
> * Dmitry Safonov <dsafonov@xxxxxxxxxxxxx> wrote:
>
>> Should print on success:
>> [root@localhost ~]# ./test_mremap_vdso_32
>> AT_SYSINFO_EHDR is 0xf773f000
>> [NOTE] Moving vDSO: [f773f000, f7740000] -> [a000000, a001000]
>> [OK]
>> Or segfault if landing was bad (before patches):
>> [root@localhost ~]# ./test_mremap_vdso_32
>> AT_SYSINFO_EHDR is 0xf774f000
>> [NOTE] Moving vDSO: [f774f000, f7750000] -> [a000000, a001000]
>> Segmentation fault (core dumped)
>
> So I still think that generating potential segfaults is not a proper way to test a
> new feature. How are we supposed to tell the feature still works? I realize that
> glibc is a problem here - but that doesn't really change the QA equation: we are
> adding new kernel code to help essentially a single application out of tens of
> thousands of applications.
>
> At minimum we should have a robust testcase ...

I think it's robust enough. It will print "[OK]" and exit with 0 on
success and it will crash on failure. The latter should cause make
run_tests to fail reliably.

There are some test cases in there that can't avoid crashing on
failure unless they were to fork, fail in a child, and then print some
text in the parent. That seems like it would be more work than it's
worth.

--Andy