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

Dmitry Safonov dsafonov at virtuozzo.com
Tue Jun 7 05:53:47 PDT 2016


On 06/07/2016 03:40 PM, Dmitry Safonov wrote:
> On 06/07/2016 03:24 PM, Dmitry Safonov wrote:
>> On 06/07/2016 01:29 AM, Tycho Andersen wrote:
>>> Hi guys,
>>>
>>> With kernel 4.6 (and maybe earlier, although not with 4.4), I'm
>>> getting the error in the subject line. The full restore log is,
>>>
>>> (00.000044) File tty[8800:e] will be restored from inherit fd 5
>>> (00.004389) Pagemap is fully functional
>>> (00.004422) Found task size of 7ffffffff000
>>> (00.004489) cpu: fpu:1 fxsr:1 xsave:0
>>> (00.004590) vdso: Parsing at 7ffcc11ca000 7ffcc11cb000
>>> (00.004597) vdso: PT_LOAD p_vaddr: 0
>>> (00.004601) Error (pie-util-vdso.c:190): vdso: Not all dynamic entries
>>> are present
>>>
>>> The symptom is that the phdr we get for PT_DYNAMIC has p_filesz == 0,
>>> so the loop in parse_elf_dynamic() never executes.
>>>
>>> Any ideas?
>>>
>>
>> Hi Tycho!
>>
>> Could you try with the following diff?
>
> Oh, I guess, it will not work, according to docs:
>
> If p_memsz is greater than p_filesz, the memory range from
> (p_vaddr + p_filesz) to (p_vaddr + p_memsz) is zero-filled
> when the segment is loaded.
>
> Well, let me think.
>

Oh, it would be nice, if you gave it a shot anyway -
this zero-padding is valid for loadable segments, not
dynamic.

And could you gave `uname -a` - so I could reproduce it in VM maybe?


More information about the CRIU mailing list