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

Tycho Andersen tycho.andersen at canonical.com
Tue Jun 7 09:56:30 PDT 2016


On Tue, Jun 07, 2016 at 07:38:34PM +0300, Dmitry Safonov wrote:
> 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.

Yes, I think the real fix is to make sure vDSO is offered in our
kernels ;-). Thanks a bunch!

Tycho


More information about the CRIU mailing list