On Mon, May 16, 2016 at 9:24 AM, Dmitry Safonov <[email protected]> wrote:
> On 05/16/2016 04:54 PM, Ingo Molnar wrote:
>>
>>
>> * Dmitry Safonov <[email protected]> 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)
>>
>>
>> Can the segfault be caught and recovered from, to print a proper failure
>> message?
>
>
> Will add segfault handler, thanks.
>

It may be more complicated that that.  Glibc is likely to explode if
this happens, and the headers are sufficiently screwed up that it's
awkward to bypass glibc and call rt_sigaction directly.  I have a test
that does the latter, though, so it's at least possible, but I'm
unconvinced it's worth it just for an error message.

-- 
Andy Lutomirski
AMA Capital Management, LLC

Reply via email to