[CRIU] Error (pie-util-vdso.c:190): vdso: Not all dynamic entries are present

Dmitry Safonov dsafonov at virtuozzo.com
Tue Jun 7 09:38:34 PDT 2016


On 06/07/2016 07:25 PM, Tycho Andersen wrote:
> Hi Dmitry,
>
> On Tue, Jun 07, 2016 at 06:36:49PM +0300, Dmitry Safonov wrote:
>>
>> But it's very unclear, what can we do if there is no .dynamic
>> We really need symbols and their location information.
>> So, vDSO looks quite useless without it. I'm surprised that
>> your glibc works with that (is it?). Maybe it fails back to raw
>> syscall instructions instead of fast syscalls - I don't know
>> if you have check that after that patch.
>
> Thanks for the analysis. I just tested, and sure enough it does fall
> back to real syscalls, so that seems like a big problem :)
>
> I'll check with our kernel guys and see, but based on looking at the
> code we do need the .dynamic section so we can reposition things.

Well, of course we could handle it by just blindly map vDSO back on
restore - if we can't parse it. But that has no use for CRIU: there
isn't any such vDSO, as the whole idea of it erases without information
about syscalls it provides.

-- 
Regards,
Dmitry Safonov


More information about the CRIU mailing list