Commit 32b4a26c authored by Pavel Emelyanov's avatar Pavel Emelyanov

restore: Comment why we need copy data on task restore args

Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
parent ebd76f4b
...@@ -2210,6 +2210,11 @@ static int sigreturn_restore(pid_t pid, CoreEntry *core) ...@@ -2210,6 +2210,11 @@ static int sigreturn_restore(pid_t pid, CoreEntry *core)
current->nr_threads, current->nr_threads,
KBYTES(restore_thread_vma_len)); KBYTES(restore_thread_vma_len));
/*
* Copy VMAs to private rst memory so that it's able to
* walk them and m(un|re)map.
*/
tgt_vmas = rst_mem_cpos(RM_PRIVATE); tgt_vmas = rst_mem_cpos(RM_PRIVATE);
list_for_each_entry(vma, &rst_vmas.h, list) { list_for_each_entry(vma, &rst_vmas.h, list) {
VmaEntry *vme; VmaEntry *vme;
...@@ -2221,6 +2226,11 @@ static int sigreturn_restore(pid_t pid, CoreEntry *core) ...@@ -2221,6 +2226,11 @@ static int sigreturn_restore(pid_t pid, CoreEntry *core)
*vme = vma->vma; *vme = vma->vma;
} }
/*
* Copy tcp sockets fds to rst memory -- restorer will
* turn repair off before going sigreturn
*/
tcp_socks = rst_mem_cpos(RM_PRIVATE); tcp_socks = rst_mem_cpos(RM_PRIVATE);
tcp_socks_mem = rst_mem_alloc(rst_tcp_socks_len(), RM_PRIVATE); tcp_socks_mem = rst_mem_alloc(rst_tcp_socks_len(), RM_PRIVATE);
if (!tcp_socks_mem) if (!tcp_socks_mem)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment