<div dir="ltr">So by using the second option(as suggested by Dmitry) the following information is obtained(which is also obtained during a normal restore):<div>(A)</div><div>vdso: Runtime vdso/vvar matches dumpee, remap inplace<br>vdso: Remap rt-vdso 0x2a000 -&gt; 0x7ffca6198000<br>vdso: Remap rt-vvar 0x27000 -&gt; 0x7ffca6195000<br>vdso: Using gettimeofday() on vdso at 0x7ffca6198d40<br></div><div><br></div><div>Other information when restored normally like:</div><div>(B)</div><div>vdso: PT_LOAD p_vaddr: 0x0<br>vdso: DT_HASH: 0x120<br>vdso: DT_STRTAB: 0x298<br>vdso: DT_SYMTAB: 0x1a8<br>vdso: DT_STRSZ: 0x5e<br>vdso: DT_SYMENT: 0x18<br>  vdso: nbucket 0x3 nchain 0xa bucket 0x7ffca6198128 chain 0x7ffca6198134<br>vdso: image [vdso] 0x7ffca6198000-0x7ffca619a000 [vvar] 0x7ffca6195000-0x7ffca6198000<br></div><div>is not available.<br></div><div><br></div><div>Is the information in (A) enough to decide that the restore process was successful?</div><div><br></div><div>Best,</div><div>Harsha</div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Sep 27, 2019 at 7:14 PM Dmitry Safonov &lt;<a href="mailto:0x7f454c46@gmail.com">0x7f454c46@gmail.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 9/27/19 2:41 PM, Dmitry Safonov wrote:<br>
&gt; On 9/27/19 8:45 AM, Cyrill Gorcunov wrote:<br>
&gt;&gt; On Thu, Sep 26, 2019 at 10:48:24PM +0000, Pavel Emelianov wrote:<br>
&gt;&gt;&gt; On 26.09.2019 18:37, Harshavardhan Unnibhavi wrote:<br>
&gt;&gt;&gt;&gt; Hi,<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; I am trying to restore images with pages*.img removed. When restore calls<br>
&gt;&gt;&gt;&gt; vdso_proxify there is a problem with the ELF headers and their associated<br>
&gt;&gt;&gt;&gt; addresses as they are not available. What should I do?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Cyrill, Dima, would you please help us on this. Briefly -- we want to<br>
&gt;&gt;&gt; &quot;emulate&quot; the restoration from images with pages*.img files removed and<br>
&gt;&gt;&gt; we hit this:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; vdso: Parsing at 0x7ffca6198000 0x7ffca619a000<br>
&gt;&gt;&gt; vdso: PT_LOAD p_vaddr: 0x0<br>
&gt;&gt;&gt; vdso: DT_HASH: 0x120<br>
&gt;&gt;&gt; vdso: DT_STRTAB: 0x298<br>
&gt;&gt;&gt; vdso: DT_SYMTAB: 0x1a8<br>
&gt;&gt;&gt; vdso: DT_STRSZ: 0x5e<br>
&gt;&gt;&gt; vdso: DT_SYMENT: 0x18<br>
&gt;&gt;&gt;   vdso: nbucket 0x3 nchain 0xa bucket 0x7ffca6198128 chain 0x7ffca6198134<br>
&gt;&gt;&gt; vdso: image [vdso] 0x7ffca6198000-0x7ffca619a000 [vvar] 0x7ffca6195000-0x7ffca6198000<br>
&gt;&gt;&gt; vdso: Runtime vdso/vvar matches dumpee, remap inplace<br>
&gt;&gt;&gt; vdso: Remap rt-vdso 0x2c000 -&gt; 0x7ffca6198000<br>
&gt;&gt;&gt; vdso: Remap rt-vvar 0x29000 -&gt; 0x7ffca6195000<br>
&gt;&gt;&gt; vdso: Using gettimeofday() on vdso at 0x7ffca6198d40<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; apparently, the parsed info is taken from pages images which are missing.<br>
&gt;&gt;&gt; Does this parsing affects anything beyond the memory contents, or can we<br>
&gt;&gt;&gt; just skip the whole parse code for our purposes?<br>
&gt;&gt;<br>
&gt;&gt; I think when you&#39;re dropping content of pages you should not modify vdso page<br>
&gt;&gt; but leave it as is. Don&#39;t you?<br>
&gt; <br>
&gt; Either this or hack it under anonimization, something like this<br>
&gt; (completely untested):<br>
<br>
[..]<br>
And a little self-correction:<br>
<br>
---&gt;8---<br>
<br>
diff --git a/criu/pie/parasite-vdso.c b/criu/pie/parasite-vdso.c<br>
index 38da766804ab..3e48013b9e63 100644<br>
--- a/criu/pie/parasite-vdso.c<br>
+++ b/criu/pie/parasite-vdso.c<br>
@@ -292,6 +292,12 @@ int vdso_proxify(struct vdso_maps *rt, bool<br>
*added_proxy,<br>
                return -1;<br>
        }<br>
<br>
+       /* Anonymous images don&#39;t have vdso in pages*.img */<br>
+       if (opts.anonymize) {<br>
+               *added_proxy = false;<br>
+               return remap_rt_vdso(vma_vdso, vma_vvar, rt);<br>
+       }<br>
+<br>
        /*<br>
         * vDSO mark overwrites Elf program header of proxy vDSO thus<br>
         * it must never ever be greater in size.<br>
</blockquote></div>